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)


Reply via email to