Marc Slagle wrote:
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



Reply via email to