Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
p5pRT opened this issue Sep 12, 2014 · 12 comments
Closed

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

p5pRT opened this issue Sep 12, 2014 · 12 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 12, 2014

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

Searchable as RT122771$

@p5pRT
Copy link
Author

p5pRT commented Sep 12, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Sep 12, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Sep 12, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Sep 13, 2014

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.

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2014

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.

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2014

From @timbunce

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2014

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.

@p5pRT
Copy link
Author

p5pRT commented Dec 1, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Jun 2, 2015

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

@p5pRT
Copy link
Author

p5pRT commented Jun 2, 2015

@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
Projects
None yet
Development

No branches or pull requests

1 participant