I was able to narrow down the problem I was having, and produce a test case for you folks. Below are two relatively self-explanatory files. If I navigate to test.cgi, it will appear to load the page properly, but if I hit the reload button a bunch of times in a row, the error_log will log segfaults. I pasted a sample at the bottom of this message. I'd appreciate any help at all. Obviously the issue is coming from CGI.pm's header function, which *should* be ok with mod_perl2. Thanks again. --Pubert
##>BEGIN FILE test.cgi< #!/usr/bin/perl use lib qw(/var/www/cgi-bin/);; use strict; use CGI; use testclass; my $cgi=new CGI; my $tc = testclass->new({CGI=>$cgi}); $tc->doit(); 1; ##>BEGIN FILE testclass.pm< package testclass; my $self; ######################################################################################################### sub new { ######################################################################################################### # This is the constructor. my ( $class, $args ) = @_; return $self if defined $self; $self = {}; bless $self, $class; $self->{CGI}=$args->{CGI}; return $self; } sub doit{ print $self->{CGI}->header; print "hello"; } 1;
Begin error_log snipper<
[Mon Jul 02 18:45:34 2007] [notice] SIGHUP received. Attempting to restart [Mon Jul 02 18:45:34 2007] [notice] Digest: generating secret for digest authentication ... [Mon Jul 02 18:45:34 2007] [notice] Digest: done [Mon Jul 02 18:45:34 2007] [notice] Apache/2.2.4 (Unix) DAV/2 mod_apreq2-20051231/2.6.1 mod_perl/2.0.2 Perl/v5.8.8 configured -- resuming normal operations [Mon Jul 02 18:45:39 2007] [notice] child pid 7925 exit signal Segmentation fault (11) [Mon Jul 02 18:45:39 2007] [notice] child pid 7926 exit signal Segmentation fault (11) [Mon Jul 02 18:45:39 2007] [notice] child pid 7927 exit signal Segmentation fault (11) [Mon Jul 02 18:45:40 2007] [notice] child pid 7928 exit signal Segmentation fault (11) [Mon Jul 02 18:45:40 2007] [notice] child pid 7929 exit signal Segmentation fault (11) [Mon Jul 02 18:45:40 2007] [notice] child pid 7931 exit signal Segmentation fault (11)