Front page | perl.perl5.porters |
Postings from May 2008
[perl #55084] Debugger loops infinitely with __DIE__ and DESTROY
From:
Peter Scott
Date:
May 30, 2008 16:25
Subject:
[perl #55084] Debugger loops infinitely with __DIE__ and DESTROY
Message ID:
rt-3.6.HEAD-11257-1212167760-875.55084-75-0@perl.org
# New Ticket Created by Peter Scott
# Please include the string: [perl #55084]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55084 >
If you run the following, be prepared to kill it from another window:
#!/usr/bin/perl -d
sub Foo::new { bless {} , "Foo" }
sub Foo::DESTROY { 1 }
BEGIN {
$SIG{__DIE__} = sub {
my $foo = Foo->new;
exit;
};
}
It will print the line
Foo::DESTROY(/tmp/foo:4): sub Foo::DESTROY { 1 }
repeatedly and be unstoppable from its own window.
This goes waaaay back. It behaves as described in 5.10.0, 5.8.8,
5.6.1. In 5.004 it just hangs. Same behavior on Linux and Solaris.
FWIW:
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=linux, osvers=2.6.16-1.2133_fc5, archname=i686-linux
uname='linux tweety 2.6.16-1.2133_fc5 #1 tue jun 6 00:52:14 edt
2006 i686 athlon i386 gnulinux '
config_args='-des -DDEBUGGING'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm',
optimize='-O2 -g',
cppflags='-DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='4.1.1 20060525 (Red Hat 4.1.1-1)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.4'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
USE_LARGE_FILES USE_PERLIO
Built under linux
Compiled at Dec 26 2007 19:03:58
@INC:
/usr/local/lib/perl5/5.10.0/i686-linux
/usr/local/lib/perl5/5.10.0
/usr/local/lib/perl5/site_perl/5.10.0/i686-linux
/usr/local/lib/perl5/site_perl/5.10.0
/usr/local/lib/perl5/site_perl/5.8.8
/usr/local/lib/perl5/site_perl
.
--
Peter Scott
Pacific Systems Design Technologies
-
[perl #55084] Debugger loops infinitely with __DIE__ and DESTROY
by Peter Scott