Hello list,
I have noticed sometimes that longrunning processes suddenly dies and
all the log contains is
[ ..application log snip.. ]
Attempt to free unreferenced scalar at
/usr/lib/perl5/site_perl/5.00557/POE/Kernel.pm line 1428.
[ restart ]
This is perl 5.005_57 and POE 0.11.
I realize POE is at 0.14 and there exists newer perlversion but it is
quite a hazzle upgrading these machines.
The line the log refers are in run():
# Dispatch one or more FIFOs, if they are available. There is a
# lot of latency between executions of this code block, so we'll
# dispatch more than one event if we can.
my $stop_time = time() + FIFO_DISPATCH_TIME;
while (@$kr_states) { <---------------------- here..
TRACE_QUEUE and do {
my $event = $kr_states->[0];
warn( sprintf('now(%.2f) ', $now - $^T) .
sprintf('sched_time(%.2f) ', $event->[ST_TIME] - $^T)
.
"seq($event->[ST_SEQ]) " .
"name($event->[ST_NAME])\n"
)
};
I am suspecting that something else is going wrong withe my
application and during shutdown things get garbagecollected and POE
gets caught with its pants down.. :-)
Any suggestions on how to trace this?
--
Gabriel Kihlman (gk)