Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 34381
Status: resolved
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: jordan [...] JordanColeman.com
Cc:
AdminCc:

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



Subject: Please mail the following information to bug-POE@rt.cpan.org...
Date: Sun, 23 Mar 2008 20:12:02 -0400
To: bug-POE [...] rt.cpan.org
From: Jordan Coleman <jordan [...] JordanColeman.com>
I always do what the machines tell me to do... Please mail the following information to bug-POE@rt.cpan.org: internal inconsistency (POE::Kernel=ARRAY(0x81ccb7c)/ POE::Session=ARRAY(0x8e2b940)) at /usr/local/lib/perl5/site_perl/5.8.8/ POE/Resource/Sessions.pm line 146 POE::Kernel::_data_ses_free('POE::Kernel=ARRAY(0x81ccb7c)', 'POE::Session=ARRAY(0x8e2b940)') called at /usr/local/lib/perl5/ site_perl/5.8.8/POE/Resource/Sessions.pm line 509 POE::Kernel::_data_ses_stop('POE::Kernel=ARRAY(0x81ccb7c)', 'POE::Session=ARRAY(0x8e2b940)') called at /usr/local/lib/perl5/ site_perl/5.8.8/POE/Resource/Sessions.pm line 435 POE::Kernel::_data_ses_collect_garbage('POE::Kernel=ARRAY(0x81ccb7c)', 'POE::Session=ARRAY(0x8e2b940)') called at /usr/local/lib/perl5/ site_perl/5.8.8/POE/Kernel.pm line 2452 POE::Kernel::refcount_decrement('POE::Kernel=ARRAY(0x81ccb7c)', 2, 'anon_event') called at /usr/local/lib/perl5/site_perl/5.8.8/POE/ Session.pm line 682 POE ::Session ::AnonEvent::DESTROY('POE::Session::AnonEvent=CODE(0x8e2b5f8)') called at ./if-manager/gsm-manager line 0 eval {...} called at ./if-manager/gsm-manager line 0 For what it's worth, the program seems to work properly and only spews this when exiting (either via a signal or exit()). The program is a long-running daemon and doesn't actually ever exit. ++J
On Sun Mar 23 20:12:23 2008, jordan@JordanColeman.com wrote: Show quoted text
> I always do what the machines tell me to do... > > Please mail the following information to bug-POE@rt.cpan.org:
[stuff] Show quoted text
> > For what it's worth, the program seems to work properly and only spews > this when exiting (either via a signal or exit()). The program is a > long-running daemon and doesn't actually ever exit.
Are you using POE 1.000? I revamped some of the signal handling in the latest release. I suspect that the signal isn't being handled, and that it (or the exit) is pre-emptively stopping the program without allowing event dispatch to finalize. The result might be inconsistencies while POE tries to clean up. I'll dig deeper into this later. Something that might work instead of exit: $_[KERNEL]->stop(); return; That should trigger graceful and immediate destruction of all sessions, which in theory would result in a graceful and clean shutdown.
Thank you for the bug report. In the 10 months since my last comment, we've determined that this is known behavior. POE is exiting without gracefully shutting down, so it's in an inconsistent state when the DESTROY/END-time cleanup occurs. Internal checks fail, causing messages like those you've seen. We'll make this more resilient when we figure out how. We really don't like these sorts of messages. While we hope you'll never need to file another bug report, please don't hesitate to if you do. Thanks again!