develooper Front page | perl.perl5.porters | Postings from March 2017

Re: [perl #105930] eval 'UNITCHECK{die}' crashes inside FETCH

Thread Next
From:
Zefram
Date:
March 26, 2017 21:24
Subject:
Re: [perl #105930] eval 'UNITCHECK{die}' crashes inside FETCH
Message ID:
20170326212406.GH6453@fysh.org
The problem is that the lazy setup of the exception-catching jmpenv is
too lazy.  During UNITCHECK the eval frame is set up, apparently providing
the destination for exceptions, but it's pointing at whatever jmpenv
happened to be on top of the stack, whether or not it's able to handle
catching for that eval frame.  The fix is to set up catchers earlier:
it can still be lazy, but to be safe the catcher should always be in
place before the eval frame is pushed onto the context stack.

Fix implemented as branch zefram/early_catcher, which I intend to merge
early in 5.27.

-zefram

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