On Fri, Sep 4, 2009 at 12:00 PM, James Olsen<jamesml@planetolsen.com> wrote:
> The trouble is, our code isn't getting invoked at all. Mod_perl (or
> something lower-level like that) is dying complaining that our code
> can't be found on the hits where this happens.
Did you try $SIG{__DIE__}? It's a global setting for that perl
interpreter. I expect it will catch this. But it sounds like you
already got what you needed from your 500 intercept.
> Does anyone have any ideas what would possibly cause items to be in
> the symbol table for a module, but the module wouldn't be in %INC or
> seemingly in memory at all (since we got an 'Undefined subroutine'
> error when mod_perl tried to invoke the "handler" method)?
Sure. You can just say $XX::Clients::YY::ContentHandler::foo = 1 to
put something in the symbol table. It doesn't mean the module is
loaded.
I suggest you set your logging so you can see the exact set of
requests the process received in order (by following the PID), before
having this problem, and then try to recreate it by sending those same
requests with a WWW::Mechanize script. Maybe that will show you how
your code skipped loading this module.
- Perrin
|