On Thu, Sep 27, 2001 at 12:12:49PM -0700, Rob Bloodgood wrote:
> OK,
> I have a major issue with POE, and I want to know how to make it go away.
> I'm confident it's there, I just haven't found it yet:
> 
> Every now and then, since my program is (gasp!) not perfect,
> some kind of uncaught exception happens.  Somebody or something gets an
> undef, and my session (which should stick around no matter what, because of
> its alias) decides to quit.
> 
> ALL I SEE is:
> Sep 27 11:09:50 devel qd[4479]: Exiting
> Sep 27 11:09:50 devel qd[4479]: DBFetch is destroyed.
> 
> And all I get to do is go,
> WTF????
> 
> And I try to recreate it,
> but the cycle time is many minutes, and I keep putting in debug statements
> that say, it's all good.  Nothing's wrong.  We're fine.  Working great.
> EXITING.
> 
> How do I make my program, which is using syslog, which DOES catch warnings,
> which IS running -w, which DOES bitch about "Use of uninitialized value at
> blah...", report the condition that causes the session to exit?
>
> Or, do you have a strategy for where/how to debug these silent quits?
> TRACE_EVENTS doesn't seem to help at all.

TRACE_GARBAGE will show you each session's reference count, and it
will tell you when they're destroyed.  If your session's exiting with
a positive "total refcnt" then something else is killing it.

Strange causes that come to mind: some sort of signal is causing its
demise.  Maybe an uncaught die/croak/exit in a library function?

> And what's MOST frustrating is that I'm using RCS on this file, and
> examining EVERY change since last checkin doesn't show me where this problem
> came from (AND IT WASN'T DOING THIS LAST WEEK!)

Sounds like an external condition to me, but maybe not.  Turn on
ASSERT_DEFAULT, too... that'll enable all sorts of internal
consistency checks within POE::Kernel.  Maybe it'll catch a bug...

-- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sourceforge.net

Reply via email to