Skip Menu |

This queue is for tickets about the POE-Devel-Top CPAN distribution.

Report information
The Basics
Id: 57959
Status: open
Priority: 0/
Queue: POE-Devel-Top

People
Owner: Nobody in particular
Requestors: dolmen [...] cpan.org
Cc:
AdminCc:

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



Subject: Perl 5.10/x86-64 crash with POE::Component::Schedule
Here is attached a script that uses both POE::Devel::Top and POE::Component::Schedule. The script makes Perl crash (segmentation fault) at the end of the first display of the P::D::T report. When the POE::Devel::Top->spawn call is disabled in the script, Perl does not crash. POE 1.289 POE::API::Peek 2.15 POE::Devel::Top 0.01 POE::Component::Schedule 0.95 This is Perl 5.10.0 for x86_64-linux-gnu-thread-multi running on Ubuntu 9.10. (gdb) where #0 *__GI___libc_free (mem=0x61) at malloc.c:3687 #1 0x00007f07a5de88c5 in Perl_op_clear () from /usr/lib/libperl.so.5.10 #2 0x00007f07a5de698d in Perl_op_free () from /usr/lib/libperl.so.5.10 #3 0x00007f07a5de6954 in Perl_op_free () from /usr/lib/libperl.so.5.10 #4 0x00007f07a5de6954 in Perl_op_free () from /usr/lib/libperl.so.5.10 #5 0x00007f07a5de6954 in Perl_op_free () from /usr/lib/libperl.so.5.10 #6 0x00007f07a5de6b7f in Perl_cv_undef () from /usr/lib/libperl.so.5.10 #7 0x00007f07a5e47763 in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #8 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #9 0x00007f07a5e4766c in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #10 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #11 0x00007f07a5e25012 in Perl_hv_free_ent () from /usr/lib/libperl.so.5.10 #12 0x00007f07a5e262b1 in ?? () from /usr/lib/libperl.so.5.10 #13 0x00007f07a5e28122 in Perl_hv_undef () from /usr/lib/libperl.so.5.10 #14 0x00007f07a5e477a6 in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #15 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #16 0x00007f07a5e4766c in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #17 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #18 0x00007f07a5e2a578 in Perl_av_undef () from /usr/lib/libperl.so.5.10 #19 0x00007f07a5e47788 in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #20 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 #21 0x00007f07a5e4766c in Perl_sv_clear () from /usr/lib/libperl.so.5.10 #22 0x00007f07a5e47a82 in Perl_sv_free2 () from /usr/lib/libperl.so.5.10 ---Type <return> to continue, or q <return> to quit--- #23 0x00007f07a5e289a0 in Perl_av_clear () from /usr/lib/libperl.so.5.10 #24 0x00007f07a5e64273 in Perl_leave_scope () from /usr/lib/libperl.so.5.10 #25 0x00007f07a5e36839 in Perl_pp_unstack () from /usr/lib/libperl.so.5.10 #26 0x00007f07a5e32f86 in Perl_runops_standard () from /usr/lib/libperl.so.5.10 #27 0x00007f07a5e3124c in perl_run () from /usr/lib/libperl.so.5.10 #28 0x0000000000400d7c in main () -- Olivier Mengué - http://o.mengue.free.fr/
Subject: POE-Devel-Top-crash.pl
#!/usr/local/bin/perl # Test derived from 14-session-ref-3.t # Test creating a schedule giving to P::C::S a session ID (instead of a session # object). use strict; use warnings; use POE qw(Component::Schedule Devel::Top); use POE qw(Component::Schedule); use DateTime::Set; POE::Devel::Top->spawn; POE::Session->create( inline_states => { _start => sub { $poe_kernel->yield('create_schedule'); }, create_schedule => sub { $_[HEAP]{sched} = POE::Component::Schedule->add( $_[SESSION]->ID, Tick => DateTime::Set->from_recurrence( # Infinite set after => DateTime->now, recurrence => sub { return $_[0]->add( seconds => 1 ) }, ), [ 2 ], # Tick counter storage ); }, Tick => sub { }, _stop => sub { }, }, ); POE::Kernel->run();
Subject: Re: [rt.cpan.org #57959] Perl 5.10/x86-64 crash with POE::Component::Schedule
Date: Sun, 2 Dec 2012 19:21:31 +0100
To: bug-POE-Devel-Top [...] rt.cpan.org
From: Sébastien Aperghis-Tramoni <saper [...] cpan.org>
Olivier 'dolmen' Mengué wrote via RT: Show quoted text
> Here is attached a script that uses both POE::Devel::Top and > POE::Component::Schedule. > The script makes Perl crash (segmentation fault) at the end of the first > display of the P::D::T report. > > When the POE::Devel::Top->spawn call is disabled in the script, Perl > does not crash.
A new version of POE::Devel::Top is now available on the CPAN. Note that its most expected use case is as a temporary debug utility, not to be added in the source code of the target program. The canonical usage is to load it from the command line: perl -MPOE::Devel::Top program-to-debug … If you load POE::Devel::Top yourself, you need to specify the appropriate parameters to ->spawn. -- Sébastien Aperghis-Tramoni Close the world, txEn eht nepO.