[MacRuby] #1308: MacRuby does not invoke a free function which was specified in Data_Wrap_Struct().

MacRuby ruby-noreply at macosforge.org
Tue Jun 28 18:51:04 PDT 2011


#1308: MacRuby does not invoke a free function which was specified in
Data_Wrap_Struct().
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:  0.11-blocker         
----------------------------------+-----------------------------------------

Comment(by lsansonetti@…):

 In nokogiri's xml_document.c:

 {{{
   tuple->unlinkedNodes = st_init_numtable_with_size(128);
 }}}

 The st_table here is prematurely collected since there is no write
 barrier. That's causing the problem here since we try to iterate over the
 table during -finalize but the table is already gone.

 I am not sure how to properly fix this without changing nokogiri. It is
 unfortunate that it does not use a MRI mark function for Data_Wrap_Struct,
 since we could have used it.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1308#comment:9>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list