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

Assertion failure in S_maybe_multiconcat (op.c:2727) #16295

Closed
p5pRT opened this issue Dec 9, 2017 · 5 comments
Closed

Assertion failure in S_maybe_multiconcat (op.c:2727) #16295

p5pRT opened this issue Dec 9, 2017 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Dec 9, 2017

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

Searchable as RT132554$

@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2017

From @geeknik

This assertion failure was triggered in Perl v5.27.6-156-g5d4548b73b,
compiled with Clang 6.0.0-trunk and -fsanitize=address.

./perl -e 'H.-w.w.=0'
perl​: op.c​:2727​: void S_maybe_multiconcat(OP *)​: Assertion `!(o->op_private
& ~(OPpARG2_MASK|OPpTARGET_MY))' failed.
Aborted

#0 __GI_raise (sig=sig@​entry=6) at ../sysdeps/unix/sysv/linux/raise.c​:58
#1 0x00007ffff6cc837a in __GI_abort () at abort.c​:89
#2 0x00007ffff6cbeb47 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion@​entry=0xbf9020 <.str> "!(o->op_private &
~(OPpARG2_MASK|OPpTARGET_MY))", file=file@​entry=0xbed660 <.str> "op.c",
line=line@​entry=2727,
  function=function@​entry=0xbf8f40 <__PRETTY_FUNCTION__.S_maybe_multiconcat>
"void S_maybe_multiconcat(OP *)") at assert.c​:92
#3 0x00007ffff6cbebf2 in __GI___assert_fail (assertion=0xbf9020 <.str>
"!(o->op_private & ~(OPpARG2_MASK|OPpTARGET_MY))", file=0xbed660 <.str>
"op.c", line=2727, function=0xbf8f40 <__PRETTY_FUNCTION__.S_maybe_multiconcat>
"void S_maybe_multiconcat(OP *)") at assert.c​:101
#4 0x000000000058b77a in S_maybe_multiconcat (o=<optimized out>) at
op.c​:2727
#5 0x0000000000512f9b in S_optimize_op (o=0x619000002200) at op.c​:3472
#6 0x0000000000513082 in S_optimize_op (o=<optimized out>) at op.c​:3488
#7 0x0000000000512c9c in Perl_optimize_optree (o=0x619000002158) at
op.c​:3443
#8 0x0000000000526dc1 in S_process_optree (cv=0x0, optree=0x619000002158,
start=0x619000002120) at op.c​:3411
#9 0x000000000052626a in Perl_newPROG (o=0x619000002158) at op.c​:5317
#10 0x00000000006a8067 in Perl_yyparse (gramtype=<optimized out>) at
perly.y​:124
#11 0x00000000005a3c22 in S_parse_body (env=<optimized out>,
xsinit=<optimized out>) at perl.c​:2447
#12 0x000000000059ea24 in perl_parse (my_perl=<optimized out>,
xsinit=0x5036f0 <xs_init>, argc=2, argv=<optimized out>, env=0x0) at
perl.c​:1750
#13 0x0000000000503486 in main (argc=0, argv=0x7ffff6cc677f
<__GI_raise+159>, env=0x7fffffffe380) at perlmain.c​:121

@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2017

From zefram@fysh.org

Brian Carpenter wrote​:

./perl -e 'H.-w.w.=0'
perl​: op.c​:2727​: void S_maybe_multiconcat(OP *)​: Assertion `!(o->op_private
& ~(OPpARG2_MASK|OPpTARGET_MY))' failed.

The first bad commit is d962625
"add OPpCONCAT_NESTED flag" by DaveM. An obvious suspicion is that
the assertion should have been loosened to also permit the new flag.
But over to DaveM.

-zefram

@p5pRT
Copy link
Author

p5pRT commented Dec 9, 2017

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

@p5pRT
Copy link
Author

p5pRT commented Dec 11, 2017

From @iabyn

On Sat, Dec 09, 2017 at 09​:28​:45PM +0000, Zefram wrote​:

Brian Carpenter wrote​:

./perl -e 'H.-w.w.=0'
perl​: op.c​:2727​: void S_maybe_multiconcat(OP *)​: Assertion `!(o->op_private
& ~(OPpARG2_MASK|OPpTARGET_MY))' failed.

The first bad commit is d962625
"add OPpCONCAT_NESTED flag" by DaveM. An obvious suspicion is that
the assertion should have been loosened to also permit the new flag.
But over to DaveM.

Now fixed with v5.27.6-190-g62c1220

--
The warp engines start playing up a bit, but seem to sort themselves out
after a while without any intervention from boy genius Wesley Crusher.
  -- Things That Never Happen in "Star Trek" #17

@p5pRT
Copy link
Author

p5pRT commented Dec 11, 2017

@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