Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 22804
Status: rejected
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: skendric [...] fhcrc.org
Cc:
AdminCc:

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



Subject: sent my program a kill signal, saw this
Date: Fri, 03 Nov 2006 15:02:13 -0800
To: bug-poe [...] rt.cpan.org
From: Stuart Kendrick <skendric [...] fhcrc.org>
Shutting down nodewatch Please mail the following information to bug-POE@rt.cpan.org: internal inconsistency (POE::Kernel=ARRAY(0x975c60)/POE::Session=ARRAY(0xb10970) ) at /opt/vdops/lib/perl5/site_perl/5.8.8/POE/Resource/Sessions.pm line 146 POE::Kernel::_data_ses_free('POE::Kernel=ARRAY(0x975c60)', 'POE::Session =ARRAY(0xb10970)') called at /opt/vdops/lib/perl5/site_perl/5.8.8/POE/Resource/S essions.pm line 509 POE::Kernel::_data_ses_stop('POE::Kernel=ARRAY(0x975c60)', 'POE::Session =ARRAY(0xb10970)') called at /opt/vdops/lib/perl5/site_perl/5.8.8/POE/Resource/S essions.pm line 435 POE::Kernel::_data_ses_collect_garbage('POE::Kernel=ARRAY(0x975c60)', 'P OE::Session=ARRAY(0xb10970)') called at /opt/vdops/lib/perl5/site_perl/5.8.8/POE /Kernel.pm line 2486 POE::Kernel::refcount_decrement('POE::Kernel=ARRAY(0x975c60)', 5, 'anon_ event') called at /opt/vdops/lib/perl5/site_perl/5.8.8/POE/Session.pm line 702 POE::Session::AnonEvent::DESTROY('POE::Session::AnonEvent=CODE(0x1283850 )') called at /opt/vdops/script/nodewatch line 0 eval {...} called at /opt/vdops/script/nodewatch line 0
On Fri Nov 03 18:02:39 2006, skendric@fhcrc.org wrote: Show quoted text
> Shutting down nodewatch Please mail the following information to > bug-POE@rt.cpan.org: > internal inconsistency [...]
1. What version of POE are you using? Recent versions have had signals stability fixes. 2. How are you handling SIGKILL? On most systems, it's uncatchable.
Subject: Re: [rt.cpan.org #22804] sent my program a kill signal, saw this
Date: Tue, 02 Jan 2007 12:24:01 -0800
To: bug-POE [...] rt.cpan.org
From: Stuart Kendrick <skendric [...] fhcrc.org>
hi rocco, -i don't remember what version of POE i was running at the time ... i tend to stay up-to-date, so likely it was whatever version was the latest on CPAN then -i tried repeating this today ... started my program, sent it a SIGKILL ... and saw nothing interesting. tried this three times. but of course, perhaps my program wasn't using POE at the time i sent it the 'KILL'. the program emits a stack of ICMP Echos using POE::Component::Client::Ping ... goes to sleep for 30 seconds ... wakes up and repeats ... timing the arrival of the KILL to land on top of a ping cycle ... takes a little more imagination than i have right now -here is how i handle signals: # The stop process signals that we'll use to run shutdown() $SIG{__DIE__} = \&shutdown; $SIG{HUP} = \&shutdown; $SIG{INT} = \&shutdown; $SIG{KILL} = \&shutdown; $SIG{STOP} = \&shutdown; $SIG{TERM} = \&shutdown; # This allows us to harvest child processes $SIG{CHLD} = sub { wait; }; [...] ######################################################################## # Cleans up before exit ######################################################################## sub shutdown { my $signal = shift; # Log event log_it("Shutting down NodeWatch v$version with $signal"); exit 1; } -currently, i'm using POE v.95 and POE::Component::Client::Ping v1.13 -this is not a problem from my point of view ... i'm not wrestling with any bugs related to it. i forwarded the message purely because i rely on POE and i want to contribute to making it better -if you have heat in this and you can see a way for me to conduct tests/experiments, let me know, and i'll do it --sk stuart kendrick fhcrc via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=22804 > > > On Fri Nov 03 18:02:39 2006, skendric@fhcrc.org wrote:
>> Shutting down nodewatch Please mail the following information to >> bug-POE@rt.cpan.org: >> internal inconsistency [...]
> > 1. What version of POE are you using? Recent versions have had signals > stability fixes. > 2. How are you handling SIGKILL? On most systems, it's uncatchable.
Hey, Stuart. I think the signal is something other than SIGKILL, because that one isn't catchable. You can trigger signals at certain points by using Perl's kill() function. kill INT => $$; That might solve any timing issues you're having. I'd love a test case if you can reproduce this.
Regretfully, I must reject this ticket. Without the requested test case, there just isn't enough information to fix the problem.