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

Perl_rpeep: Assertion `oldoldop->op_next == oldop' failed (op.c:13716) #15080

Closed
p5pRT opened this issue Dec 8, 2015 · 4 comments
Closed

Perl_rpeep: Assertion `oldoldop->op_next == oldop' failed (op.c:13716) #15080

p5pRT opened this issue Dec 8, 2015 · 4 comments

Comments

@p5pRT
Copy link

p5pRT commented Dec 8, 2015

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

Searchable as RT126844$

@p5pRT
Copy link
Author

p5pRT commented Dec 8, 2015

From @geeknik

{my($f,$b),($0),my($f,$b)} causes an assertion failure in Perl_rpeep. This bug was found using American Fuzzy Lop. Perl v5.23.6 (v5.23.5-113-g406d554) was compiled as follows​:

./Configure -des -Dusedevel -DDEBUGGING -Dcc=afl-gcc -Doptimize=-O2\ -g && AFL_HARDEN=1 make -j6

valgrind -q ~/perl/perl test00
perl​: op.c​:13716​: Perl_rpeep​: Assertion `oldoldop->op_next == oldop' failed.
Aborted

perl​: op.c​:13716​: Perl_rpeep​: Assertion `oldoldop->op_next == oldop' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff6d90165 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c​:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c​: No such file or directory.
(gdb) bt
#0 0x00007ffff6d90165 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c​:64
#1 0x00007ffff6d933e0 in *__GI_abort () at abort.c​:92
#2 0x00007ffff6d89311 in *__GI___assert_fail (
  assertion=assertion@​entry=0xe81a79 "oldoldop->op_next == oldop", file=<optimized out>,
  file@​entry=0xf50f22 "op.c", line=line@​entry=13716, function=function@​entry=0xe965f3 "Perl_rpeep")
  at assert.c​:81
#3 0x00000000004c324d in Perl_rpeep (o=0x11c8e80) at op.c​:13716
#4 0x000000000048b0f6 in Perl_newPROG (o=0x11c8c88) at op.c​:4113
#5 0x000000000065cf18 in Perl_yyparse (gramtype=gramtype@​entry=258) at perly.y​:120
#6 0x000000000052e625 in S_parse_body (env=env@​entry=0x0, xsinit=xsinit@​entry=0x42e190 <xs_init>)
  at perl.c​:2312
#7 0x0000000000534737 in perl_parse (my_perl=<optimized out>, xsinit=xsinit@​entry=0x42e190 <xs_init>,
  argc=<optimized out>, argv=<optimized out>, env=env@​entry=0x0) at perl.c​:1634
#8 0x000000000042dda8 in main (argc=2, argv=0x7fffffffe668, env=0x7fffffffe680) at perlmain.c​:114

@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2015

From @iabyn

On Tue, Dec 08, 2015 at 10​:51​:15AM -0800, Brian Carpenter wrote​:

# New Ticket Created by Brian Carpenter
# Please include the string​: [perl #126844]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=126844 >

{my($f,$b),($0),my($f,$b)} causes an assertion failure in Perl_rpeep.

Fixed by f5885b0; more general fixes in the follow-up commits in the
branch 4945b30.

--
You're only as old as you look.

@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2015

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

@p5pRT p5pRT closed this as completed Dec 9, 2015
@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2015

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant