develooper Front page | perl.perl5.porters | Postings from June 2016

Re: [perl #128238] Assert fail in gv.c without other symptoms: usere%:=0

Thread Previous | Thread Next
From:
Dave Mitchell
Date:
June 21, 2016 16:12
Subject:
Re: [perl #128238] Assert fail in gv.c without other symptoms: usere%:=0
Message ID:
20160621161217.GT3289@iabyn.com
On Wed, May 25, 2016 at 08:12:32PM -0700, Father Chrysostomos via RT wrote:
> Anything that enables warnings (of course, since without warnings enabled at least somewhere gv_check doesn’t get called).
> 
> $  ./miniperl -Ilib -e 'BEGIN { %: = 0; $^W=1}'
> Assertion failed: (SvOOK(stash)), function Perl_gv_check, file gv.c, line 2417.

Fixed with this:

    commit e7acdfe976f01ee0d1ba31b3b1db61454a72d6c9
    Author:     David Mitchell <davem@iabyn.com>
    AuthorDate: Tue Jun 21 17:06:52 2016 +0100
    Commit:     David Mitchell <davem@iabyn.com>
    CommitDate: Tue Jun 21 17:06:52 2016 +0100

    only treat stash entries with  .*:: as sub-stashes
    
    RT #128238
    
    %: = 0 would cause an assertion failure in Perl_gv_check(), since when
    it searched a stash for substashes, it assumed anything ending in ':' was
    a substash, whereas substashes end in '::'. So check for a double colon
    before recursing.


-- 
Never work with children, animals, or actors.

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