I don't have a test to reproduce the segfault, so I'm just shooting in the dark based on the core trace that you've kindly provided. Please revert the previous patch and try the new one:
We tried the new patch, but can still get the segfault. We wrote 3
modules that can reproduce the segfault on our system.
Here is a simple test that I was after. No XML, no XSLT, no extra modules needed (i.e. no wasted time on developer's behalf). In the future please try to come up with a similar test if possible.
package Server::Killer;
use 5.008; use strict;
use Apache::Request; use Apache::Constants qw(:common);
our $GlobalURI; our $GlobalS;
sub handler { my $r=Apache::Request->new(shift); $r->send_http_header; $r->print("ok");
my $S=$r->param(); $GlobalS=$r->param();
my $Stuff=&readglobal;
return OK;
}
sub readglobal { my $Uri=$GlobalURI; return $Uri; }
1;
Same goes for the required config section, please always provide a minimal config if possible. Here all was needed is:
Listen 127.0.0.1:8123 NameVirtualHost 127.0.0.1:8123 <VirtualHost 127.0.0.1:8123> PerlTransHandler Server::KillerTH <Directory /home/httpd/httpd_perl/docs> PerlHandler Server::Killer </Directory> </VirtualHost>
Now it's easy to reproduce the segfault. Set MaxRequestPerChild 1 and run the server with 'httpd -X', it crashes after the first request.
It crashes when it tries to destroy $GlobalS (during child_exit), which contains a reference to an Apache::Table object which was already freed. Some reference counting is going wrong. I'm still looking at it.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
-- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html