Repository navigation
Devel::NYTProf causes perl assert failure: function Perl_rpeep, file op.c #14087
Description
Activity
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/bashFrom @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 trapI 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 KeenanThe RT System itself - Status changed from 'new' to 'open'
From Mark.Martinec@ijs.si
Using Devel-NYTProf-5.06_80 and perl 5.20.0 compiled
with -DDEBUGGINGI recommend that you take this up *first* at Devel-NYTProf's
bug tracker at:
https://github.com/timbunce/devel-nytprof/issuesDone:
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.
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 &= ~0x4 } sort { $ $b <=> $$a } ()'0x4 is PERLDBf_NOOPT.
From @timbunce
Per timbunce/devel-nytprof#38 this appears related to 932bca2 (but I've not actually done a bisect).
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
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
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.
@steve-m-hay - Status changed from 'open' to 'pending release'
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@khwilliamson - Status changed from 'pending release' to 'resolved'
Migrated from rt.perl.org#122771 (status was 'resolved')
Searchable as RT122771$