Storable can't serialize filehandles. Strip them from the data you're transporting, or choose a serialization mechanism that can handle it:

% perl -wle 'use Storable; print length Storable::nfreeze(\*STDIN)'
Can't store GLOB items at ../../lib/Storable.pm (autosplit into ../../ lib/auto/Storable/_freeze.al) line 339, at -e line 1

If you choose to use something like YAML, POE::Filter::Reference's documentation will explain how to replace Storable.

--
Rocco Caputo - rcap...@pobox.com


On Dec 22, 2009, at 16:28, Josh803316 wrote:

My application using Poe::Wheel::RunPoCo::TCP::Server (and Client) and
Poe::Component::Generic is crashing with the following stack trace. Most
notably:

pid 855 STDERR: 27:ERR: Can't store GLOB items at blib/lib/Storable.pm
(autosplit into blib/lib/auto/Storable/_freeze.al) line 339, at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Filter/Reference.pm line 208

I was just wondering if anyone had seen this error before or could guide me
in the best way to attack debugging it.

(Trace)
pid 855 STDERR: 27:ERR: 27: autoload method create_message at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 881.
pid 855 STDERR: 27:ERR: 27: 1228: processing request create_message
pid 855 STDERR: 27:ERR: 27: No wheel at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 382. pid 855 STDERR: 27:ERR: 1228: 9 -> POE::Wheel::ReadWrite(6) -> select read (from /usr/local/lib/perl5/site_perl/5.10.0/POE/Resource/ FileHandles.pm at
226)
pid 855 STDERR: 27:ERR: 1228: 9 -> tcp_server_got_error (from
/usr/local/lib/perl5/site_perl/5.10.0/POE/Wheel/ReadWrite.pm at 288)
pid 855 STDERR: 27:ERR: 1228: 9 -> POE::Wheel::ReadWrite(6) -> select write (from /usr/local/lib/perl5/site_perl/5.10.0/POE/Resource/ FileHandles.pm at
226)
pid 855 STDERR: 27:ERR: 1228: 9 -> tcp_server_got_flush (from
/usr/local/lib/perl5/site_perl/5.10.0/POE/Wheel/ReadWrite.pm at 229)
pid 855 STDERR: 27:ERR: 27: _stop at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 295.
pid 855 STDERR: 27:ERR: 1228: 4 -> _child (from
/usr/local/lib/perl5/site_perl/5.10.0/POE/Resource/Sessions.pm at 538)
pid 855 STDERR: 27:ERR: 1228: 4 -> _stop (from
/usr/local/lib/perl5/site_perl/5.10.0/POE/Resource/Sessions.pm at 528)
pid 855 STDERR: 27:ERR: 26: DESTROY at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 840.
pid 855 STDERR: 27:ERR: 27: DESTROY at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 840.
pid 855 STDERR: 27:ERR: 1228: !!! Child process PID:1279 reaped:
pid 855 STDERR: 27:ERR: 1228: !!! Your program may not be using sig_child()
to reap processes.
pid 855 STDERR: 27:ERR: 1228: !!! In extreme cases, your program can force a
system reboot
pid 855 STDERR: 27:ERR: 1228: !!! if this resource leakage is not corrected.
pid 855 STDERR: 27:ERR: Can't store GLOB items at blib/lib/Storable.pm
(autosplit into blib/lib/auto/Storable/_freeze.al) line 339, at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Filter/Reference.pm line 208
pid 855 STDERR: 27:ERR: Destroying self Jnms::Client::Client=HASH(0xa701e9c)
at /usr/local/lib/perl5/site_perl/5.10.0/POE/Kernel.pm line 1282
pid 855 STDERR: 27: Wheel 7 generated read error 0:
pid 855 STDERR: 27: Wheel 7 generated read error 0:
pid 855 STDERR: 27: Wheel closed
pid 855 STDERR: 27: Child 1228 exited with 5632 at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 714.
pid 855 STDERR: 27: _done at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 305.
pid 855 STDERR: 27: drop wheel at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 310.
pid 855 STDERR: 27: remove alias 27 at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 321.
pid 855 STDERR: 27: _stop at
/usr/local/lib/perl5/site_perl/5.10.0/POE/Component/Generic.pm line 295.
pid 855 STDERR: 855: 4 -> _child (from
/usr/local/lib/perl5/site_perl/5.10.0/POE/Resource/Sessions.pm at 538)

Reply via email to