#1990: GC bug with new embedding API
-----------------------+----------------------------------------------------
 Reporter:  nwellnhof  |       Owner:       
     Type:  bug        |      Status:  new  
 Priority:  normal     |   Milestone:       
Component:  none       |     Version:  3.0.0
 Severity:  medium     |    Keywords:       
     Lang:             |       Patch:       
 Platform:             |  
-----------------------+----------------------------------------------------
 I recently discovered a GC bug caused by the embedding API rewrite. It can
 be easily triggered by manually setting a low GC threshold like 64K. The
 problem is the following code sequence:

 {{{
 Parrot_api_load_bytecode_file (or Parrot_api_wrap_imcc_hack)
 some other code that triggers a GC
 Parrot_api_run_bytecode
 }}}

 The bytecode PMC returned by Parrot_api_load_bytecode_file and
 Parrot_api_wrap_imcc_hack is an UnmanagedStruct, so constant PMCs from the
 packfile (and maybe other things) don't get marked. These functions should
 return a real PMC that properly marks referenced objects.

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1990>
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