#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

Reply via email to