#1764: Infinite loop in exit handler
-----------------------+----------------------------------------------------
Reporter: nwellnhof | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: core | Version: trunk
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
-----------------------+----------------------------------------------------
Comment(by plobsing):
.lex and :outer don't seem to be working correctly. The infinite loop is
caused by a null PMC access exception after find_lex has failed to find
the lexical.
There are 2 primary causes for the lookup failure:
- the main sub does not remember that it is an outer sub
(SUB_FLAG_IS_OUTER is not preserved)
- the freeze/thaw process creates a clone of the main sub as the
exit_handler sub's outer_sub attribute. The clone does not have its ->ctx
field updated (only the original gets the update)
On a higher level though, something smells wrong with using the outer
sub's ->ctx attribute for much of anything, let alone using it for
find_lex lookups.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1764#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets