Skip to content

autouse + DProf == segmentation fault #8067

Description

@p5pRT

Migrated from rt.perl.org#36896 (status was 'resolved')

Searchable as RT36896$

Activity

  1. p5pRT commented on Aug 13, 2005

    @p5pRT
    Author

    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/zsh
    
    
  2. p5pRT commented on Dec 7, 2011

    @p5pRT
    Author

    From @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 can

    o 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 Keenan

  3. p5pRT commented on Dec 7, 2011

    @p5pRT
    Author

    The RT System itself - Status changed from 'new' to 'open'

  4. p5pRT commented on Jul 3, 2012

    @p5pRT
    Author

    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

  5. p5pRT commented on Jul 3, 2012

    @p5pRT
    Author

    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

  6. p5pRT commented on Jul 3, 2012

    @p5pRT
    Author

    @doy - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions