Skip Menu |
Report information
Id: 130578
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: brian.carpenter [at] gmail.com
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: 5.27.7



From: "Brian 'geeknik' Carpenter" <brian.carpenter [...] gmail.com>
To: perlbug [...] perl.org
Date: Tue, 17 Jan 2017 17:07:54 -0600
Subject: op.c:10706: OP *Perl_ck_refassign(OP *): Assertion `left->op_type == OP_SREFGEN' failed
Download (untitled) / with headers
text/plain 175b
Triggered with Perl v5.25.8-195-gc1b4bd9.

./perl -e '\$0=~y((()))00=0'
perl: op.c:10706: OP *Perl_ck_refassign(OP *): Assertion `left->op_type == OP_SREFGEN' failed.
Aborted
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.5k
On Tue, 17 Jan 2017 15:08:56 -0800, brian.carpenter@gmail.com wrote: Show quoted text
> Triggered with Perl v5.25.8-195-gc1b4bd9. > > ./perl -e '\$0=~y((()))00=0' > perl: op.c:10706: OP *Perl_ck_refassign(OP *): Assertion `left->op_type == > OP_SREFGEN' failed. > Aborted
This can be simplified to: ./perl -e '\$0=~y/x//=0' The op tree where at the point of the assertion is: #4 0x00000000004897b8 in Perl_ck_refassign (o=0x61900000bd00) at op.c:10719 10719 assert (left->op_type == OP_SREFGEN); (gdb) call Perl_op_dump(o) { 1 TYPE = refassign ===> NULL FLAGS = (UNKNOWN,KIDS,STACKED,SLABBED) PRIVATE = (SV,0x2) { 2 TYPE = const ===> 2 FLAGS = (SCALAR,SLABBED,MORESIB) SV = IV(0) } { 3 TYPE = null ===> NULL FLAGS = (UNKNOWN,KIDS,STACKED,SLABBED) PRIVATE = (0x2) { 4 TYPE = srefgen ===> NULL FLAGS = (SCALAR,KIDS,SLABBED,MORESIB) PRIVATE = (0x1) { 5 TYPE = null ===> NULL (was list) FLAGS = (LIST,KIDS,REF,MOD,SLABBED) { 6 TYPE = rv2sv ===> NULL FLAGS = (SCALAR,KIDS,REF,MOD,SLABBED) PRIVATE = (0x1) { 7 TYPE = gv ===> 7 FLAGS = (SCALAR,SLABBED) GV = main::0 } } } } { 8 TYPE = trans ===> 8 FLAGS = (SCALAR,STACKED,SLABBED) PRIVATE = (IDENT) } } } Tony
Subject: Re: [perl #130578] op.c:10706: OP *Perl_ck_refassign(OP *): Assertion `left->op_type == OP_SREFGEN' failed
From: Zefram <zefram [...] fysh.org>
Date: Wed, 6 Dec 2017 00:55:36 +0000
To: perl5-porters [...] perl.org
Fixed in commit 38a3df78b8fbbdf02988dd5fe691c23a8041334f. -zefram
Download (untitled) / with headers
text/plain 317b
Thank you for filing this report. You have helped make Perl better. With the release yesterday of Perl 5.28.0, this and 185 other issues have been resolved. Perl 5.28.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.28.0 If you find that the problem persists, feel free to reopen this ticket.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org