develooper Front page | perl.perl5.porters | Postings from February 2019

[perl #130585] perl.c:528: perl_destruct: Assertion`PL_scopestack_ix == 1' failed

Thread Previous | Thread Next
From:
Hugo van der Sanden via RT
Date:
February 12, 2019 09:40
Subject:
[perl #130585] perl.c:528: perl_destruct: Assertion`PL_scopestack_ix == 1' failed
Message ID:
rt-4.0.24-2353-1549964432-247.130585-15-0@perl.org
On Mon, 11 Feb 2019 21:32:43 -0800, tonyc wrote:
> On Fri, 20 Jan 2017 06:43:12 -0800, hv wrote:
> > The scopestack imbalance here occurs because we call sublex_start()
> > but never a corresponding sublex_done().
[...]
> The closing ) is confusing the parser.
> 
> Patch which *might* fix it (passes all tests in a DEBUGGING build) attached.

It looks credible to me, and a good solution. What are your concerns about it?

I know very little about the grammar, but I'm curious why "FUNC SUBLEXSTART optexpr SUBLEXEND" is in 'term' rather than next to "FUNC '(' optexpr ')'" in 'listop' - I'm assuming the cases hitting the former with the patch would previously have hit the latter.

Is it possible to construct an additional croak/toke test for the \U case, or does the means of construction imply it cannot trigger failure the same way?

Hugo

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=130585

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About