[freeside-devel] Tonights oddness (page doesn't work coming from print)

ivan ivan at 420.am
Mon Jan 21 06:00:12 PST 2002


On Tue, Dec 11, 2001 at 07:21:22PM -0600, Dave Burgess wrote:
> Hola,
> 
> Today's strangeness....

Yes, this one sure is strange.  I've never seen anything like this.  For
reference, what versions of Perl and mod_perl are you using?

> Me and our bookkeeper have been working with the system.  We've got all the
> data in, have generated invoices for everyone (which we hope to blow away
> before the first of the year) and are running into the oddest error:
> 
> [Tue Dec 11 19:12:22 2001] [error] [asp] [4997] [error] Can't call
> method "pkgnum" without a package or object reference at cust_main.cgi
> line 307 during global destruction. <--> ,
> /usr/pkg/lib/perl5/site_perl/5.6.1/Apache/ASP.pm line 1574

"during global destruction" refers to Perl's shutdown sequence, when it
cleans up all outstanding variables.  I can't for the life of me figure
out how Perl would up in cust_main.cgi during global destruction (normally
Perl just frees all regular variables and calls the DESTROY method for any
tied variables) - nor how the @packages array would up with
elements that can't handle a ->pkgnum method call.

> It happens (usually) when we click on any of the various 'View this customer' 
> links, or when we go from viewing an invoice and reprinting it.  Here's the
> odd part:
> 
> If I hit 'reload' the page comes up fine.
> 
> I suppose it could be me somehow, but I don't see anything that would cause
> this.  The other possibility is that it has something to do with database 
> updates not completing in time....

Database updates not completing in time...?  I don't think that's
relevant.

> Any places where you think I should start looking?

The code in question looks like:

  foreach $package (@packages) {
    my $pkgnum = $package->pkgnum;

Hmm, if you can duplicate the problem, dump what's in $package that is
causing the `Can't call method "pkgnum"' error to be thrown. 

-- 
_ivan



More information about the freeside-devel mailing list