Try at the start of your handler
 
sub handler
    {
    my $r = shift ;
   
    Apache -> request ($r) ;
 
 
This sets the request record which is needed by the newer version of CGI.pm
 
Gerald
 

-------------------------------------------------------------
Gerald Richter    ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
E-Mail:     [EMAIL PROTECTED]         Voice:    +49 6133 925151
WWW:        http://www.ecos.de      Fax:      +49 6133 925152
-------------------------------------------------------------

 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Kevin Glass
Sent: Wednesday, January 19, 2000 11:04 AM
To: [EMAIL PROTECTED]
Subject: Transaction handler weirdness

Hi,
 
We have recently installed a new machine with Apache/1.3.9  mod_perl/1.21 mod_ssl/2.4.10 OpenSSL/0.9.4 perl 5.004_04 configured
 
A perl transaction handler that works fine on Apache/1.3.6 mod_perl/1.21 5.00503 is now intermittantly dying on the new box
with the following error;
 
Can't call method "register_cleanup" on an undefined value at /usr/lib/perl5/5.00503/CGI.pm at line 263
 
The transaction handler is trying to parse cookies into a hash as follows
 
      my %cookies = CGI::Cookie->parse($r->header_in('Cookie'));
 
Line 263 of CGI.pm is
 
        Apache->request->register_cleanup(\&CGI::_reset_globals);
 
in the following sub routine
 
sub new {
    my($class,$initializer) = @_;
    my $self = {};
    bless $self,ref $class || $class || $DefaultClass;
    if ($MOD_PERL) {
        Apache->request->register_cleanup(\&CGI::_reset_globals);
        undef $NPH;
    }
    $self->_reset_globals if $PERLEX;
    $self->init($initializer);
    return $self;
}
 
 
Any ideas as to where the problem lies? 
 
Thanks
Kevin
 
 
 
 

Reply via email to