Skip Menu |

This queue is for tickets about the Apache-ASP CPAN distribution.

Report information
The Basics
Id: 81792
Status: new
Priority: 0/
Queue: Apache-ASP

People
Owner: Nobody in particular
Requestors: sotcha [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: [ASP WARN] Can't call method "cleanup_register" on an undefined value
Date: Sat, 8 Dec 2012 08:27:21 +0200
To: bug-Apache-ASP [...] rt.cpan.org
From: Chatzianagnostou Sotirios <sotcha [...] gmail.com>
Distribution: Apache-ASP-2.62 Perl : This is perl 5, version 14, subversion 2 (v5.14.2) built for i486-linux-gnu-thread-multi-64int OS : Linux dragon 3.4-6.slh.1-aptosid-686 #1 SMP PREEMPT Fri Jul 20 00:47:01 UTC 2012 i686 GNU/Linux I have apache2, mod_perl2 and apache-asp, all installed from debian repositories. An error occurs when trying to use Loader on the apache startup using something like this on a perl startup, when mod_perl2 is being used. use Apache::ASP(); Apache::ASP->Loader('/var/www/mobile_deals', ".(asp|asa)\$", Global => '.', Debug => 3, # see system output when starting apache UseStrict => 1, ); Then I can see on the apache's error file [ASP WARN] Can't call method "cleanup_register" on an undefined value at /usr/share/perl5/Apache/ASP.pm line 517. at /usr/share/perl5/Apache/ASP.pm line 517 Apache::ASP::RegisterCleanup('Apache::ASP=HASH(0xb89a5fb8)', 'CODE(0xb8b15004)') called at /usr/share/perl5/Apache/ASP.pm line 383 Apache::ASP::new('Apache::ASP', 'Apache::ASP::Load=HASH(0xb8b15040)') called at /usr/share/perl5//Apache/ASP/Load.pm line 129 eval {...} called at /usr/share/perl5//Apache/ASP/Load.pm line 127 Apache::ASP::Load::Run('/var/www/mobile_deals/login.asp', '.(asp|asa)$', 'Global', ., 'Debug', 3, 'UseStrict', 1) called at /usr/share/perl5//Apache/ASP/Load.pm line 87 Apache::ASP::Load::Run('Apache::ASP', '/var/www/mobile_deals', '.(asp|asa)$', 'Global', ., 'Debug', 3, 'UseStrict', 1, ...) called at /usr/share/perl5/Apache/ASP.pm line 1987 Apache::ASP::Loader('Apache::ASP', '/var/www/mobile_deals', '.(asp|asa)$', 'Global', ., 'Debug', 3, 'UseStrict', 1, ...) called at /etc/apache2/perl/ startup.pl line 7 require /etc/apache2/perl/startup.pl called at (eval 2) line 1 eval 'require q/etc/apache2/perl/startup.pl ;' called at /etc/apache2/perl/startup.pl line 0 When using Apache::ASP::Load::Run (called from Apache::ASP::Loader) in Load.pm:129 creates Apache::ASP passing Apache::ASP::Loader object (not an apache request object as usual - Apache2::RequestRec in mod_perl2), so in ASP.pm:382 when calls RegisterCleanup and an error occurs in ASP.pm:517. The problem seems to be on RegisterCleanup where an Apache2::RequestRec object expencted, but there is a Apache::ASP::Loader object. Apache2::RequestRec has the pool subroutine which returns an APR::Pool object. sub RegisterCleanup { my $self = shift; if($ModPerl2) { if(defined($self->{r}->pool)){ $self->{r}->pool->cleanup_register(@_); } } else { $self->{r}->register_cleanup(@_); } } Cheers , Sotiris Chatzianagnostou sotcha@gmail.com