Hi--
Having a problem with modperl/xml-parser.
I have been encountering mysterious segfault errors in apache
child processes when it is under load, and I am trying to narrow
down what is happening.
replacing the die statements from Parser.pm helped get rid of
alot of the segs, but this issue still crops up periodically.
i also made sure that apache compiled with Expat=no.
I have included the most common stacktrace from gbd below (i
have several others).
All seem to be related to expat, but i can't tell exactly
what is breaking from the trace. Any help deciphering the
trace would be greatly appreciated!
Also, I would like to use this trick so that I can get more
info on mod perl--
(gdb) source modperl_x.xx/.gdbinit
(gdb) curinfo
Do I need to re-compile perl with DEBUG for this to work?
Also, i can't seem to find .gdbinit-- don't know if this will
help this problem in any case, but would like to at least have
this in the tool chest.
I am working with:
mod perl 1.23
linux 6.2
apache 1.39
XML::Parser 2.29
Program received signal SIGSEGV, Segmentation fault.
0x8118fc5 in Perl_sv_setsv ()
(gdb) bt
#0 0x8118fc5 in Perl_sv_setsv ()
#1 0x8110bb3 in Perl_pp_sassign ()
#2 0x811083d in Perl_runops_standard ()
#3 0x8131dce in Perl_pp_exit ()
#4 0x8131e45 in Perl_pp_exit ()
#5 0x8133dfc in Perl_pp_entertry ()
#6 0x811083d in Perl_runops_standard ()
#7 0x80d88d5 in perl_call_sv ()
#8 0x80d8494 in perl_call_sv ()
#9 0x402e8e76 in endElement () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#10 0x80c03e6 in XML_ErrorString ()
#11 0x80bf559 in XML_ErrorString ()
#12 0x80c1ddb in XML_ErrorString ()
#13 0x80c1b12 in XML_ErrorString ()
#14 0x80bf0f2 in XML_ParseBuffer ()
#15 0x402e877f in parse_stream () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#16 0x402ebd16 in XS_XML__Parser__Expat_ParseStream ()
from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#17 0x81157a5 in Perl_pp_entersub ()
#18 0x811083d in Perl_runops_standard ()
#19 0x8131dce in Perl_pp_exit ()
#20 0x8131e45 in Perl_pp_exit ()
#21 0x8133dfc in Perl_pp_entertry ()
#22 0x811083d in Perl_runops_standard ()
#23 0x80d88d5 in perl_call_sv ()
#24 0x80d8494 in perl_call_sv ()
#25 0x402e8e76 in endElement () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#26 0x80c03e6 in XML_ErrorString ()
#27 0x80bf559 in XML_ErrorString ()
#28 0x80c1ddb in XML_ErrorString ()
#29 0x80c1b12 in XML_ErrorString ()
#30 0x80bf0f2 in XML_ParseBuffer ()
#31 0x402e877f in parse_stream () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#32 0x402ebd16 in XS_XML__Parser__Expat_ParseStream ()
from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#33 0x81157a5 in Perl_pp_entersub ()
#34 0x811083d in Perl_runops_standard ()
#35 0x8131dce in Perl_pp_exit ()
#36 0x8131e45 in Perl_pp_exit ()
#37 0x8133dfc in Perl_pp_entertry ()
#38 0x811083d in Perl_runops_standard ()
#39 0x80d88d5 in perl_call_sv ()
#40 0x80d8494 in perl_call_sv ()
#41 0x402e8e76 in endElement () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#42 0x80c01df in XML_ErrorString ()
#43 0x80bf559 in XML_ErrorString ()
#44 0x80c1ddb in XML_ErrorString ()
#45 0x80c1b12 in XML_ErrorString ()
#46 0x80bf0f2 in XML_ParseBuffer ()
#47 0x402e877f in parse_stream () from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#48 0x402ebd16 in XS_XML__Parser__Expat_ParseStream ()
from
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/XML/Parser/Expat/Expat.so
#49 0x81157a5 in Perl_pp_entersub ()
#50 0x811083d in Perl_runops_standard ()
#51 0x80d88d5 in perl_call_sv ()
#52 0x80d869e in perl_call_sv ()
#53 0x807ca7b in perl_call_handler ()
#54 0x807c426 in perl_run_stacked_handlers ()
#55 0x807b17d in perl_handler ()
#56 0x8096093 in ap_invoke_handler ()
#57 0x80a9469 in ap_some_auth_required ()
#58 0x80a94cc in ap_process_request ()
#59 0x80a0e8e in ap_child_terminate ()
#60 0x80a101c in ap_child_terminate ()
#61 0x80a1179 in ap_child_terminate ()
#62 0x80a17a6 in ap_child_terminate ()
#63 0x80a1f23 in main ()
#64 0x400a81eb in __libc_start_main (main=0x80a1bec <main>, argc=2,
argv=0xbffffcd4, init=0x80627f0 <_init>,
fini=0x814dc9c <_fini>, rtld_fini=0x4000a610 <_dl_fini>,
stack_end=0xbffffccc)
at ../sysdeps/generic/libc-start.c:90