Skip Menu |

This queue is for tickets about the POE-Component-IKC CPAN distribution.

Report information
The Basics
Id: 83505
Status: rejected
Priority: 0/
Queue: POE-Component-IKC

People
Owner: Nobody in particular
Requestors: rohit.nitk2004 [...] gmail.com
Cc:
AdminCc:

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



Subject: Possible issue in rogue child identification
Distribution name : POE-Component-IKC-0.2304 Perl Version : 5.10.1 OS : GNU/Linux 2.6.18 Issue => In below code snippet from package POE::Component::IKC::Server, divide factor being used is 1_000_000 while as per Proc::ProcessTable::Process documentation, stime and utime are 1/100ths of seconds. So,divide factor should be 100 instead. Please correct me if i am missing something Code Snippet => elsif($state eq 'run') { $time=eval{$table{$pid}->utime + $table{$pid}->stime}; warn $@ if $@; # utime and stime are Linux-only :( $time /= 1_000_000 if $time; # micro-seconds -> seconds if($time and $time > 1200) { # arbitrary limit of 20 minutes $rogues{$pid}=$table{$pid}; warn "$$: $pid has gone rogue, time=$time s\n"; } else { DEBUG and warn "$$: child $pid has utime+stime=$time s\n" if $time > 1; $ok{$pid}=1; }
From: rohit.nitk2004 [...] gmail.com
Please ignore below.I see that only utime is 1/100ths of second. But i think we should have some way to configure/disable this upper limit of 20 mins. On Thu Feb 21 00:38:45 2013, rbhardwaj wrote: Show quoted text
> Distribution name : POE-Component-IKC-0.2304 > Perl Version : 5.10.1 > OS : GNU/Linux 2.6.18 > > Issue => > In below code snippet from package POE::Component::IKC::Server, divide > factor being used is 1_000_000 while as per
Proc::ProcessTable::Process Show quoted text
> documentation, stime and utime are 1/100ths of seconds. > > So,divide factor should be 100 instead. > Please correct me if i am missing something > > Code Snippet => > elsif($state eq 'run') { > $time=eval{$table{$pid}->utime + $table{$pid}->stime}; > warn $@ if $@; > # utime and stime are Linux-only :( > $time /= 1_000_000 if $time; # micro-seconds -> seconds > > if($time and $time > 1200) { # arbitrary limit of 20 minutes > $rogues{$pid}=$table{$pid}; > warn "$$: $pid has gone rogue, time=$time s\n"; > } else { > DEBUG and > warn "$$: child $pid has utime+stime=$time s\n" > if $time > 1; > $ok{$pid}=1; > }
On Tue Mar 12 01:46:37 2013, rbhardwaj wrote: Show quoted text
> Please ignore below.I see that only utime is 1/100ths of second. > But i think we should have some way to configure/disable this upper > limit of 20 mins. > > On Thu Feb 21 00:38:45 2013, rbhardwaj wrote:
> > Distribution name : POE-Component-IKC-0.2304 > > Perl Version : 5.10.1 > > OS : GNU/Linux 2.6.18 > > > > Issue => > > In below code snippet from package POE::Component::IKC::Server, divide > > factor being used is 1_000_000 while as per
> Proc::ProcessTable::Process
> > documentation, stime and utime are 1/100ths of seconds. > > > > So,divide factor should be 100 instead. > > Please correct me if i am missing something > > > > Code Snippet => > > elsif($state eq 'run') { > > $time=eval{$table{$pid}->utime + $table{$pid}->stime}; > > warn $@ if $@; > > # utime and stime are Linux-only :( > > $time /= 1_000_000 if $time; # micro-seconds -> seconds > > > > if($time and $time > 1200) { # arbitrary limit of 20 minutes > > $rogues{$pid}=$table{$pid}; > > warn "$$: $pid has gone rogue, time=$time s\n"; > > } else { > > DEBUG and > > warn "$$: child $pid has utime+stime=$time s\n" > > if $time > 1; > > $ok{$pid}=1; > > }
> >