I fixed it... apparently it not like the "return $self if defined $self;"
...  return $class id ref $class is better form anyway... thanks and sorry
about all the emails ;)

On 7/2/07, pubert na <[EMAIL PROTECTED]> wrote:

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)


Reply via email to