I noticed you list XML::Simple. It is a favorite module of mine, but it uses XML::Parser which uses the expat XML parser. It is seems that mod_perl has problems with XML::Parser. This problem is supposed to be fixed in Apache 1.3.22, but I still had problems with strange segfaults and munched scalers when using XML::Parser. I recommend switching XML parsers to one that doesn't use expat. I had good luck using XML::LibXML, especially after making a Simple API :)
Matthew Gerlach John Chia wrote: > Hi, > > I have a very annoying problem with mod_perl segfaulting. It must be > some perl code, but I cannot isolate where. Here are the symptoms, all > running on 7.2: > > 1) does not happen with apache/mod_perl compiled and linked on RedHat 6.2 > 2) does not happen with apache/mod_perl statically linked on Redhat 7.2 > 3) does happen with apache from 6.2 and mod_perl (re)linked on 7.2 > > I don't really want to go static, plus I'm a good guinea pig for this > sort of thing! Stack traces... > > ** gdb 'where' after segfaulting: > > #0 __pthread_mutex_lock (mutex=0x67617765) at mutex.c:99 > #1 0x401b0974 in __libc_free (mem=0x40515b18) at malloc.c:3152 > #2 0x404bdb08 in Perl_sv_clear () from /usr/lib/apache/libperl.so > #3 0x404bdd3f in Perl_sv_free () from /usr/lib/apache/libperl.so > #4 0x404b7bf4 in S_visit () from /usr/lib/apache/libperl.so > #5 0x404b7c87 in Perl_sv_clean_all () from /usr/lib/apache/libperl.so > #6 0x4046f08e in perl_destruct () from /usr/lib/apache/libperl.so > #7 0x4044ee2b in perl_shutdown () from /usr/lib/apache/libperl.so > #8 0x4044f2a5 in mp_dso_unload () from /usr/lib/apache/libperl.so > #9 0x080525f9 in ap_run_cleanup () at eval.c:41 > #10 0x080510cb in ap_clear_pool () at eval.c:41 > #11 0x08060220 in ap_child_terminate () at eval.c:41 > #12 0x08060c03 in main () at eval.c:41 > #13 0x40150306 in __libc_start_main (main=0x8060780 <main>, argc=2, > ubp_av=0xbffffb54, init=0x804fb20 <_init>, fini=0x8089450 <_fini>, > rtld_fini=0x4000d2cc <_dl_fini>, stack_end=0xbffffb4c) > at ../sysdeps/generic/libc-start.c:129 > > ** strace is not at all helpful.. reads mime.types, opens access_log > and does some rt_sigprocmask stuff then SIGSEGV. > > ** Interactive debugger via Apache::DB .. (sorry bout the mess) > > DBI::CODE(0x884e440)(/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm:349): > 349: return unless defined &DBI::trace_msg; # return unless > bootstrap'd ok > DBI::CODE(0x884e440)(/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm:350): > 350: local ($!,$?); > DBI::CODE(0x884e440)(/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm:351): > 351: DBI->trace_msg(" -- DBI::END\n", 2); > DBI::CODE(0x884e440)(/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm:353): > 353: $DBI::PERL_ENDING = $DBI::PERL_ENDING = 1; # avoid typo > warning > DBI::CODE(0x884e440)(/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm:354): > 354: DBI->disconnect_all() if %DBI::installed_drh; > AppConfig::State::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig/State.pm:449): > 449: my $self = shift; > AppConfig::State::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig/State.pm:450): > 450: my ($variable, $attrib); > AppConfig::State::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig/State.pm:454): > 454: ($variable = $AUTOLOAD) =~ s/.*:://; > AppConfig::State::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig/State.pm:457): > 457: $variable eq 'DESTROY' && return; > AppConfig::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig.pm:206): > 206: my $self = shift; > AppConfig::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig.pm:207): > 207: my $method; > AppConfig::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig.pm:211): > 211: ($method = $AUTOLOAD) =~ s/.*:://; > AppConfig::AUTOLOAD(/usr/lib/perl5/site_perl/5.6.1/AppConfig.pm:214): > 214: $method eq 'DESTROY' && return; > Segmentation fault > > ** Semi-complete module list: > perl-HTML-Table-1.12a-3mtl > perl-Log-Agent-0.2.8-3mtl > perl-MLDBM-2.00-7mtl > perl-URI-1.17-5mtl > perl-Storable-1.0.13-3mtl > perl-Filesys-Statvfs_Df-0.67-4mtl > perl-Proc-ProcessTable-0.33-4mtl > perl-IO-Interface-0.97-6mtl > perl-DBD-Pg-1.01-5mtl > perl-libnet-1.0704-8mtl > perl-Apache-GTopLimit-0.01-3mtl > perl-Crypt-SSLeay-0.31-5mtl > perl-Net-IMAP-Simple-0.93-4mtl > perl-App-Config-1.09-5mtl > perl-FreezeThaw-0.41-6mtl > perl-GTop-0.10-4mtl > perl-POE-0.17-4mtl > perl-Authen-Smb-0.91-3mtl > perl-Convert-ASN1-0.07-1 > perl-IMAP-Admin-1.5.1-3mtl > perl-Net-SNMP-3.5-1 > perl-HTML-Mason-1.04-6mtl > perl-GDGraph-1.33-6mtl > perl-XML-Writer-0.4-0 > perl-Time-HiRes-01.20-7mtl > perl-Archive-Tar-0.22-6mtl > perl-XML-Parser-2.30-7 > perl-Adaptor-0.2-1 > perl-GD-1.33-9mtl > perl-Apache-DB-0.06-1mtl > perl-ldap-0.25-5mtl > perl-Params-Validate-0.07-4mtl > perl-GDTextUtil-0.80-6mtl > perl-HTML-Parser-3.25-5mtl > perl-Net-DNS-0.12-6mtl > perl-Net-Printer-0.20-1 > perl-MIME-Base64-2.12-7mtl > perl-Net-Finger-1.05-5mtl > perl-MLM-0.1-1 > perl-Sys-CpuLoad-0.01-7mtl > perl-Digest-MD5-2.13-1 > perl-libapreq-0.33-4mtl > perl-Apache-Session-1.54-4mtl > perl-5.6.1-3mtl > perl-XML-Simple-1.05-1mtl > perl-NNTPClient-0.37-6mtl > perl-DBI-1.20-5mtl > perl-Compress-Zlib-1.14-5mtl > perl-libwww-perl-5.60-9mtl > perl-Authen-Challenge-Basic-0.1-1 > perl-AppConfig-1.52-7mtl > > Anything else I can provide? TIA! > > -- > john chia <[EMAIL PROTECTED]> starnix inc. > tollfree: 1-87-pro-linux thornhill, ontario, canada > http://www.starnix.com professional linux services & products