Skip to content

Devel::NYTProf causes perl assert failure: function Perl_rpeep, file op.c #14087

Description

@p5pRT

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

Searchable as RT122771$

Activity

  1. p5pRT commented on Sep 12, 2014

    @p5pRT
    Author

    From Mark.Martinec@ijs.si

    Created by Mark.Martinec@ijs.si

    Not sure if the culprit is Devel​::NYTProf, or perl 5.20.0 itself.

    Using Devel-NYTProf-5.06_80 and perl 5.20.0 compiled
    with -DDEBUGGING, one of the Devel-NYTProf self-tests
    causes perl to abort on assertion failure​:

    $ prove t/test25-strevalb.t
      Assertion failed​: ((kid->op_type == OP_NULL && kid->op_targ == OP_NEXTSTATE)
      || kid->op_type == OP_STUB || kid->op_type == OP_ENTER),
      function Perl_rpeep, file op.c, line 12011.
    Exit status 6 from /usr/local/bin/perl5.20.0 -d​:NYTProf
      at t/test25-strevalb.t line 23.

    Same with just the offending line from test25-strevalb.t :

    $ NYTPROF='use_db_sub=1' perl -d​:NYTProf -e 'use Benchmark'
      Assertion failed​: ((kid->op_type == OP_NULL && kid->op_targ == OP_NEXTSTATE)
      || kid->op_type == OP_STUB || kid->op_type == OP_ENTER),
      function Perl_rpeep, file op.c, line 12011.
    Abort trap

    (wrapped for clarity)

    Perl Info
    
    Flags:
        category=core
        severity=low
    
    Site configuration information for perl 5.20.0:
    
    Configured by root at Mon Jun 16 15:09:13 UTC 2014.
    
    Summary of my perl5 (revision 5 version 20 subversion 0) configuration:
       
      Platform:
        osname=freebsd, osvers=10.0-release, archname=amd64-freebsd-thread-multi
        uname='freebsd 10amd64-ws-default-job-03 10.0-release freebsd 10.0-release amd64 '
        config_args='-sde -Dprefix=/usr/local -Darchlib=/usr/local/lib/perl5/5.20/mach -Dprivlib=/usr/local/lib/perl5/5.20 -Dman3dir=/usr/local/lib/perl5/5.20/perl/man/man3 -Dman1dir=/usr/local/man/man1 -Dsitearch=/usr/local/lib/perl5/site_perl/5.20/mach -Dsitelib=/usr/local/lib/perl5/site_perl/5.20 -Dscriptdir=/usr/local/bin -Dsiteman3dir=/usr/local/lib/perl5/5.20/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none -Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -Doptimize=-g -DDEBUGGING -Ui_gdbm -Duse64bitint -Dusethreads=y -Dusemymalloc=n'
        hint=recommended, useposix=true, d_sigaction=define
        useithreads=define, usemultiplicity=define
        use64bitint=define, use64bitall=define, uselongdouble=undef
        usemymalloc=n, bincompat5005=undef
      Compiler:
        cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
        optimize='-g',
        cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
        ccversion='', gccversion='4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE_33/final 183502)', gccosandvers=''
        intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
        d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
        ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
        alignbytes=8, prototype=define
      Linker and Libraries:
        ld='cc', ldflags ='-pthread -Wl,-E  -fstack-protector -L/usr/local/lib'
        libpth=/usr/lib /usr/local/lib /usr/include/clang/3.3 /usr/lib
        libs=-lm -lcrypt -lutil
        perllibs=-lm -lcrypt -lutil
        libc=, so=so, useshrplib=true, libperl=libperl.so
        gnulibc_version=''
      Dynamic Linking:
        dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-R/usr/local/lib/perl5/5.20/mach/CORE'
        cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib -fstack-protector'
    
    
    
    @INC for perl 5.20.0:
        /usr/local/lib/perl5/5.20/BSDPAN
        /usr/local/lib/perl5/site_perl/5.20/mach
        /usr/local/lib/perl5/site_perl/5.20
        /usr/local/lib/perl5/5.20/mach
        /usr/local/lib/perl5/5.20
        .
    
    
    Environment for perl 5.20.0:
        HOME=/home/mark
        LANG (unset)
        LANGUAGE=
        LC_ALL=en_US.UTF-8
        LD_LIBRARY_PATH (unset)
        LOGDIR (unset)
        PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/kde4/bin/:/usr/X11R6/bin
        PERL_BADLANG (unset)
        SHELL=/usr/local/bin/bash
    
    
  2. p5pRT commented on Sep 12, 2014

    @p5pRT
    Author

    From @jkeenan

    On Fri Sep 12 08​:30​:33 2014, mmartinec wrote​:

    This is a bug report for perl from Mark.Martinec@​ijs.si,
    generated with the help of perlbug 1.40 running under perl 5.20.0.

    -----------------------------------------------------------------
    [Please describe your issue here]

    Not sure if the culprit is Devel​::NYTProf, or perl 5.20.0 itself.

    Using Devel-NYTProf-5.06_80 and perl 5.20.0 compiled
    with -DDEBUGGING, one of the Devel-NYTProf self-tests
    causes perl to abort on assertion failure​:

    $ prove t/test25-strevalb.t
    Assertion failed​: ((kid->op_type == OP_NULL && kid->op_targ ==
    OP_NEXTSTATE)
    || kid->op_type == OP_STUB || kid->op_type == OP_ENTER),
    function Perl_rpeep, file op.c, line 12011.
    Exit status 6 from /usr/local/bin/perl5.20.0 -d​:NYTProf
    at t/test25-strevalb.t line 23.

    Same with just the offending line from test25-strevalb.t :

    $ NYTPROF='use_db_sub=1' perl -d​:NYTProf -e 'use Benchmark'
    Assertion failed​: ((kid->op_type == OP_NULL && kid->op_targ ==
    OP_NEXTSTATE)
    || kid->op_type == OP_STUB || kid->op_type == OP_ENTER),
    function Perl_rpeep, file op.c, line 12011.
    Abort trap

    I recommend that you take this up *first* at Devel-NYTProf's bug tracker at​:

    https://github.com/timbunce/devel-nytprof/issues

    I recommend that because you are testing what is listed as a *development* version of this library (see​: http​://search.cpan.org/~timb/Devel-NYTProf-5.06/).

    Since the latest *official* release of Devel-NYTProf has been passing most, but not all, of its smoke tests against Perl 5.20.0 and later (see​: http​://matrix.cpantesters.org/?dist=Devel-NYTProf+5.06), we have to rule out a bug in Devel-NYTProf before considering a bug in Perl itself.

    Thank you very much.
    Jim Keenan

  3. p5pRT commented on Sep 12, 2014

    @p5pRT
    Author

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

  4. p5pRT commented on Sep 13, 2014

    @p5pRT
    Author

    From Mark.Martinec@ijs.si

    Using Devel-NYTProf-5.06_80 and perl 5.20.0 compiled
    with -DDEBUGGING

    I recommend that you take this up *first* at Devel-NYTProf's
    bug tracker at​:
    https://github.com/timbunce/devel-nytprof/issues

    Done​:
      timbunce/devel-nytprof#38
      "use_db_sub=1 triggers perl assert abort​: function Perl_rpeep, file
    op.c"

    I recommend that because you are testing what is listed as a
    *development* version of this library (see​:
    http​://search.cpan.org/~timb/Devel-NYTProf-5.06/).

    Same happens with Devel-NYTProf-5.06 as with Devel-NYTProf-5.06_80,
    also aborts with perl-blead 5.21.4 (just a different line number).

    Since the latest *official* release of Devel-NYTProf has been passing
    most, but not all, of its smoke tests against Perl 5.20.0 and later
    (see​: http​://matrix.cpantesters.org/?dist=Devel-NYTProf+5.06), we have
    to rule out a bug in Devel-NYTProf before considering a bug in Perl
    itself.

    Sure, thank you for a prompt response.

  5. p5pRT commented on Oct 5, 2014

    @p5pRT
    Author

    From @timbunce

    This looks like a perl bug rather than a Devel​::NYTProf problem.

    Here's a pure-perl reproducer​:

      perl -d -e 'BEGIN { $^P &amp;= ~0x4 } sort { $$b <=> $$a } ()'

    0x4 is PERLDBf_NOOPT.

  6. p5pRT commented on Oct 5, 2014

    @p5pRT
    Author

    From @timbunce

    Per timbunce/devel-nytprof#38 this appears related to 932bca2 (but I've not actually done a bisect).

  7. p5pRT commented on Oct 5, 2014

    @p5pRT
    Author

    From @cpansprout

    On Sun Oct 05 12​:11​:22 2014, timbo wrote​:

    Per timbunce/devel-nytprof#38 this appears
    related to 932bca2 (but I've not
    actually done a bisect).

    I have done a bisect, and it is that commit. I also have a local fix, but I may not push it until later today, or even tomorrow, as I also have other local changes that break things.

    --

    Father Chrysostomos

  8. p5pRT commented on Oct 5, 2014

    @p5pRT
    Author

    From @cpansprout

    On Sun Oct 05 12​:53​:25 2014, sprout wrote​:

    On Sun Oct 05 12​:11​:22 2014, timbo wrote​:

    Per timbunce/devel-nytprof#38 this appears
    related to 932bca2 (but I've not
    actually done a bisect).

    I have done a bisect, and it is that commit. I also have a local fix,
    but I may not push it until later today, or even tomorrow, as I also
    have other local changes that break things.

    This is now fixed in 4c62787. This should be a candidate for maint-5.20.

    --

    Father Chrysostomos

  9. p5pRT commented on Oct 6, 2014

    @p5pRT
    Author

    From @timbunce

    On Sun, Oct 05, 2014 at 04​:41​:54PM -0700, Father Chrysostomos via RT wrote​:

    On Sun Oct 05 12​:53​:25 2014, sprout wrote​:

    On Sun Oct 05 12​:11​:22 2014, timbo wrote​:

    Per timbunce/devel-nytprof#38 this appears
    related to 932bca2 (but I've not
    actually done a bisect).

    I have done a bisect, and it is that commit. I also have a local fix,
    but I may not push it until later today, or even tomorrow, as I also
    have other local changes that break things.

    This is now fixed in 4c62787. This should be a candidate for maint-5.20.

    Wonderful. Thanks!

    Tim.

  10. p5pRT commented on Dec 1, 2014

    @p5pRT
    Author

    @steve-m-hay - Status changed from 'open' to 'pending release'

  11. p5pRT commented on Jun 2, 2015

    @p5pRT
    Author

    From @khwilliamson

    Thanks for submitting this ticket

    The issue should be resolved with the release today of Perl v5.22. If you find that the problem persists, feel free to reopen this ticket

    --
    Karl Williamson for the Perl 5 porters team

  12. p5pRT commented on Jun 2, 2015

    @p5pRT
    Author

    @khwilliamson - Status changed from 'pending release' 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