Repository navigation
autouse + DProf == segmentation fault #8067
Description
Activity
From at@altlinux.ru
Created by at@altlinux.org
$ perl -e 'use autouse qw(Pod::Usage pod2usage); pod2usage'
Can't open -e for reading: No such file or directory
at -e line 1
$ perl -d:DProf -e 'use autouse qw(Pod::Usage pod2usage); pod2usage'
Can't open -e for reading: No such file or directory
at -e line 1
zsh: segmentation fault (core dumped)
$(gdb) bt
#0 0x4002371b in dprof_times () from /usr/lib/perl5/i386-linux/auto/Devel/DProf/DProf.so
#1 0x400239d6 in dprof_times () from /usr/lib/perl5/i386-linux/auto/Devel/DProf/DProf.so
#2 0x400c054e in Perl_leave_scope () from /usr/lib/libperl.so.5.8
#3 0x400c08c0 in Perl_pop_scope () from /usr/lib/libperl.so.5.8
#4 0x4004f9ea in Perl_init_argv_symbols () from /usr/lib/libperl.so.5.8
#5 0x40054796 in Perl_my_failure_exit () from /usr/lib/libperl.so.5.8
#6 0x400c2956 in Perl_die_where () from /usr/lib/libperl.so.5.8
#7 0x4008df61 in Perl_vdie () from /usr/lib/libperl.so.5.8
#8 0x4008e039 in Perl_die () from /usr/lib/libperl.so.5.8
#9 0x400c9e11 in Perl_pp_die () from /usr/lib/libperl.so.5.8
#10 0x4009af80 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#11 0x4004e083 in Perl_get_cv () from /usr/lib/libperl.so.5.8
#12 0x400526d8 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#13 0x40023c1b in XS_DB_sub () from /usr/lib/perl5/i386-linux/auto/Devel/DProf/DProf.so
#14 0x400a0dae in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#15 0x4009af80 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#16 0x4004e083 in Perl_get_cv () from /usr/lib/libperl.so.5.8
#17 0x400526d8 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#18 0x40023c1b in XS_DB_sub () from /usr/lib/perl5/i386-linux/auto/Devel/DProf/DProf.so
#19 0x400a0dae in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#20 0x4009af80 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#21 0x4004e083 in Perl_get_cv () from /usr/lib/libperl.so.5.8
#22 0x400526d8 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#23 0x40023c1b in XS_DB_sub () from /usr/lib/perl5/i386-linux/auto/Devel/DProf/DProf.so
#24 0x400a0dae in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#25 0x4009af80 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#26 0x4005316d in perl_run () from /usr/lib/libperl.so.5.8
#27 0x08048afc in main ()
(gdb)Perl Info
Flags: category=core severity=low Site configuration information for perl v5.8.7: Configured by ALT Linux Team at Fri Jun 17 03:47:29 MSD 2005. Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=linux, osvers=2.4.20-alt7-up, archname=i386-linux-thread-multi uname='linux solemn.turbinal.org 2.4.20-alt7-up #1 fri mar 14 14:57:05 msk 2003 i686 unknown unknown gnulinux ' config_args='-de -rs -Darchname=i386-linux -Dd_dosuid -Ud_csh -Dlibswanted=dl m c crypt db ndbm gdbm -Duseshrplib -Dlibperl=libperl.so.5.8 -Dcc=gcc -Doptimize=-pipe -Wall -Os -march=i686 -D_GNU_SOURCE -momit-leaf-frame-pointer -Dcccdlflags=-fPIC -DPIC -Dccdlflags=-rdynamic -Wl,-O1 -Dlddlflags=-shared -Wl,-O1 -Dldflags=-Wl,-O1 -Dprefix=/usr -Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/i386-linux -Dvendorprefix=/usr -Dvendorlib=/usr/lib/perl5/vendor_perl -Dvendorarch=/usr/lib/perl5/vendor_perl/i386-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/lib/perl5/site_perl/5.8.7 -Dsitearch=/usr/local/lib/perl5/site_perl/5.8.7/i386-linux -Dsiteman1dir=/usr/local/man/man1 -Dsite_man3dir=/usr/local/man/man3 -Dcf_by=ALT Linux Team -Dcf_email=Alexey Tourbin <at@altlinux.ru> -Dmyhostname=localhost -Dperladmin=root@localhost -Dmyuname=Linux 2.4.20-alt7-up i686 -Dnewmyuname=Linux 2.4.20-alt7-up i686 -Dinc_version_list=5.8.6/i386-linux 5.8.5/i386-linux 5.8.4/i386-linux 5.8.3/i386-linux 5.8.2/i386-linux 5.8.1/i386-linux 5.8.0/i386-linux 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.6.1 5.6.0 -Dpager=/usr/bin/less -isR -Di_shadow -Di_syslog -Dusethreads -Duseithreads -Duselargefiles -Di_db -Di_gdbm -Di_ndbm -Di_sdbm -Ui_odbm' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-pipe -Wall -Os -march=i686 -D_GNU_SOURCE -momit-leaf-frame-pointer', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.4.3 20050221 (ALT Linux, build 3.4.3-alt5)', 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='gcc', ldflags ='-Wl,-O1 -L/usr/local/lib64 -L/usr/local/lib' libpth=/usr/local/lib64 /usr/local/lib /lib64 /usr/lib64 /lib /usr/lib libs=-ldl -lm -lpthread -lc -lcrypt -ldb -lgdbm perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so.5.8 gnulibc_version='2.3.3' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-O1' cccdlflags='-fPIC -DPIC', lddlflags='-shared -Wl,-O1 -L/usr/local/lib64 -L/usr/local/lib' Locally applied patches: @INC for perl v5.8.7: /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.7/i386-linux /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl . Environment for perl v5.8.7: HOME=/home/at LANG=C LANGUAGE (unset) LC_COLLATE=ru_RU.CP1251 LC_CTYPE=ru_RU.CP1251 LC_MESSAGES=C LC_MONETARY=ru_RU.CP1251 LC_NUMERIC=ru_RU.CP1251 LC_TIME=C LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/at/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin:/usr/lib/qt3/bin PERL_BADLANG (unset) SHELL=/bin/zshFrom @jkeenan
On Sat Aug 13 16:21:21 2005, at@altlinux.ru wrote:
This is a bug report for perl from at@altlinux.org,
generated with the help of perlbug 1.35 running under perl v5.8.7.$ perl -e 'use autouse qw(Pod::Usage pod2usage); pod2usage'
Can't open -e for reading: No such file or directory
at -e line 1
$ perl -d:DProf -e 'use autouse qw(Pod::Usage pod2usage); pod2usage'
Can't open -e for reading: No such file or directory
at -e line 1
zsh: segmentation fault (core dumped)
$Running your code on Darwin on Perl 5.14.2, I got the failure messages
but no segmentation fault.###
[perl] 518 $ perl -e 'use autouse qw(Pod::Usage pod2usage); pod2usage'
Can't open -e: No such file or directory at -e line 1
[perl] 519 $ perl -d:DProf -e 'use autouse qw(Pod::Usage pod2usage);
pod2usage'
Can't open -e: No such file or directory at -e line 1
###But I should note that (a) Devel::DProf is deprecated -- see its
documentation in Perl 5.14 -- so we're not fixing bugs in connection
with it; and (b) even if we were still supporting DProf, I would be
skeptical about it playing well with 'autouse'. After all, autouse's
documentation includes these warnings:###
Using "autouse" will move important steps of your program's execution
from compile time to runtime. This cano Break the execution of your program if the module you "autouse"d
has some initialization which it expects to be done early.o hide bugs in your code since important checks (like correctness of
prototypes) is moved from compile time to runtime.
...
###I wouldn't expect any profiler to play well with this.
Thank you very much.
Jim KeenanThe RT System itself - Status changed from 'new' to 'open'
From @doy
Devel::DProf is no longer a part of the perl core. I have forwarded this
ticket to its queue on rt.cpan.-doy
From [Unknown Contact. See original ticket]
Devel::DProf is no longer a part of the perl core. I have forwarded this
ticket to its queue on rt.cpan.-doy
@doy - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#36896 (status was 'resolved')
Searchable as RT36896$