FS#25008 - [mod_perl] causing apache to segfault
Attached to Project:
Arch Linux
Opened by Lukas Sabota (punkrockguy318) - Monday, 04 July 2011, 00:32 GMT
Last edited by Angel Velasquez (angvp) - Sunday, 24 July 2011, 21:52 GMT
Opened by Lukas Sabota (punkrockguy318) - Monday, 04 July 2011, 00:32 GMT
Last edited by Angel Velasquez (angvp) - Sunday, 24 July 2011, 21:52 GMT
|
Details
Description:
When mod_perl is loaded, apache2 is failing with a segfault: :: Starting Apache Web Server [BUSY] /usr/sbin/apachectl: line 84: 18930 Segmentation fault $HTTPD -k $ARGV [FAIL] Additional info: * package version(s) - tried perl/mod_perl in both extra (2.0.5-6) and testing (2.0.5-7) * config and/or log files etc. /var/log/httpd/error_log indicates: --- [Sun Jul 03 19:54:42 2011] [notice] seg fault or similar nasty error detected in the parent process --- Steps to reproduce: Install apache, perl, and mod_perl Load mod_perl in /etc/httpd/conf/httpd.conf (my setup is as follows:) LoadModule perl_module /usr/lib/httpd/modules/mod_perl.so Run apache (/etc/rc.d/apache start) See the segfault and wince |
This task depends upon
Closed by Angel Velasquez (angvp)
Sunday, 24 July 2011, 21:52 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed on 2.0.5-8, thanks Evangelos
Sunday, 24 July 2011, 21:52 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed on 2.0.5-8, thanks Evangelos
(gdb) bt
#0 0x40a3b270 in modperl_env_clear () from /etc/httpd/modules/mod_perl.so
#1 0x40a2bf58 in ?? () from /etc/httpd/modules/mod_perl.so
Cannot access memory at address 0x0
#2 0x40a2bf58 in ?? () from /etc/httpd/modules/mod_perl.so
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
apache 2.2.19-1 and mod_perl 2.0.5-6
$ apachectl -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
I believe that the arch compiles prefork into apache by default
[me@host:~] httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
diff httpd.conf httpd.conf.orig
121d120
< LoadModule perl_module modules/mod_perl.so
Complete http.conf is at http://pastie.org/2164269 but that was literally the only change.
Note that I'm running this on ARM so 32-bit...
Everything worked fine; can't seem to reproduce on 64 bit.
I tried to remake perl & mod_perl, and latest dev version of mod_perl, with the same segmentation fault at httpd start.
(gdb) bt
#0 0xb7102cf4 in modperl_env_clear () from /etc/httpd/modules/mod_perl.so
#1 0xb70f0f3a in ?? () from /etc/httpd/modules/mod_perl.so
#2 0xb704b601 in Perl_leave_scope () from /usr/lib/perl5/core_perl/CORE/libperl.so
#3 0xb704c5a3 in Perl_pop_scope () from /usr/lib/perl5/core_perl/CORE/libperl.so
#4 0xb6fab341 in perl_parse () from /usr/lib/perl5/core_perl/CORE/libperl.so
#5 0xb70f12f6 in modperl_startup () from /etc/httpd/modules/mod_perl.so
#6 0xb70f126c in modperl_startup () from /etc/httpd/modules/mod_perl.so
#7 0xb70f17a6 in modperl_init () from /etc/httpd/modules/mod_perl.so
#8 0xb70f195e in modperl_hook_init () from /etc/httpd/modules/mod_perl.so
#9 0x08079689 in ap_run_open_logs ()
#10 0x08064a1a in main ()
Same versions of apache and mod_perl as above: apache 2.2.19-1 and mod_perl 2.0.5-6, perl 5.14.1-1
:: Restarting Apache Web Server[BUSY]
/usr/sbin/apachectl: line 84: 678 Segmentation fault $HTTPD -k $ARGV [FAIL]
FS#24540andFS#24577- I'm guessing CFLAGS are involved somehow, and we only saw those break on i686 as well./usr/sbin/apachectl: line 84: 13947 Segmentation fault $HTTPD -k $ARGV
/usr/sbin/apachectl: line 84: 1351 Segmentation fault $HTTPD -k $ARGV
dmesg shows:
httpd[1351]: segfault at d ip b720bcf4 sp bf89f2e0 error 4 in mod_perl.so[b71ee000+34000]
A couple of confirmations that the issue doesn't exist in mod_perl 2.0.5-8 would be nice. :)
Thanks so much !!!