[Chicago-talk] mod perl & Can't locate object method

Jim Thomason thomasoniii at gmail.com
Tue Apr 26 12:57:04 PDT 2005


We've got a nasty little mod_perl issue that pops up from time to
time. Most recently, I encountered it on a clean server (fresh apache,
fresh config, not using a lot of the same modules as our other box).

Basically, every so often, perl will forget about certain methods in a
module. So we get errors like this:

[Tue Apr 26 09:22:59 2005] [error] PerlRun: `Can't locate object
method "local_driver" via package "ED::System::District" (perhaps you
forgot to load "ED::System::District"?) at
/home/jthomason/modules/ED/Controller/IV/ChooseDistrict.pm line 22.

But, and here's where it gets weird, the module is loaded. This is
based upon the fact that an entry for it exists in %INC. Further, if I
dump out the symbol table for that module, I can see that not only
does it exist, but there is an entry for that method in there.

Hence, we're stumped. It usually on affects a single apache process,
so reloading a few times 'til you get a good one alleviates the issue.
We've never seen the issue in the production environment, only in dev.
We thought it was a dev issue, until I saw it pop up on the clean box
today.

The only stuff I've been able to dig up on the web are from people
that weren't using the module first, so it wasn't found. But we are
using it, it's in %INC, and the symbol table entries are there. But
when it tries to call it, it fails.

Anyone encounter anything like this?


More information about the Chicago-talk mailing list