Hello,
I tested my mod_perl application using following combinations recently:
* Apache/2.2.9 (Debian) mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
(default Debian Lenny packages, mpm-prefork)
* Apache/2.2.11 (Unix) mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.0
(apache, apreq and mod_perl compiled from sources, mpm-prefork)
and I see a crash of Apache process on each request.
Here's the backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7ce0ad0 (LWP 11196)]
0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
(gdb) bt
#0 0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
#1 0xb7bc2dc1 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
#2 0xb7bbcd38 in Perl_call_sv () from /usr/lib/libperl.so.5.10
#3 0xb7cb2bfc in modperl_callback (my_perl=0x9ab21a0, handler=0x9639b18,
p=0x9ad4578,
r=0x9ad45b8, s=0x961bfe0, args=0x98a13c0) at modperl_callback.c:101
#4 0xb7cb32d3 in modperl_callback_run_handlers (idx=6, type=4, r=0x9ad45b8,
c=0x0,
s=0x961bfe0, pconf=0x0, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST)
at modperl_callback.c:262
#5 0xb7cb39ca in modperl_callback_per_dir (idx=6, r=0x9ad45b8,
run_mode=MP_HOOK_RUN_FIRST)
at modperl_callback.c:369
#6 0xb7cac6ef in modperl_response_handler_run (r=0x9ad45b8, finish=1) at
mod_perl.c:1000
#7 0xb7caca74 in modperl_response_handler (r=0x9ad45b8) at mod_perl.c:1044
#8 0x0807c109 in ap_run_handler (r=0x9ad45b8) at config.c:158
#9 0x0807f469 in ap_invoke_handler (r=0x9ad45b8) at config.c:372
#10 0x08098c06 in ap_process_request (r=0x9ad45b8) at http_request.c:282
#11 0x08095ca8 in ap_process_http_connection (c=0x9ace738) at http_core.c:190
#12 0x08083479 in ap_run_process_connection (c=0x9ace738) at connection.c:43
#13 0x080a9f35 in child_main (child_num_arg=<value optimized out>) at
prefork.c:650
#14 0x080aa213 in make_child (s=0x961bfe0, slot=0) at prefork.c:746
#15 0x080ab018 in ap_mpm_run (_pconf=0x96050a8, plog=0x9641198, s=0x961bfe0)
at prefork.c:881
#16 0x08068df0 in main (argc=Cannot access memory at address 0x0
) at main.c:740
>From the perl code perspective it looks like it crashes somewhere inside
"HTML::Template::output" method. I tried several different versions of
HTML::Template package and all of them crash in the same way. (However I
don't think that the crash is caused by this package.)
Last known working mod_perl combination where my application worked
just fine is:
Apache/2.2.8 (Ubuntu) mod_apreq2-20051231/2.6.0 mod_perl/2.0.3 Perl/v5.8.8
(any older versions also worked with no problems)
and therefore it seems like an upgrade to Perl 5.10 is a possible reason
for this crash.
I'm not able to reproduce this problem with a simple "hello world"
application but my application isn't that complicated either. Has anyone
experienced a similar issue?
I have a very limited experience with debugging of mod_perl/perl
crashes. Any advise on how to efficiently track this problem would be
greatly appreciated.
Thank you.
Jozef
--
Jozef Kosoru