[MacRuby] #895: MacRuby crashes when trying to parse an XML document with nokogiri

MacRuby ruby-noreply at macosforge.org
Mon Oct 18 07:16:03 PDT 2010


#895: MacRuby crashes when trying to parse an XML document with nokogiri
---------------------------+------------------------------------------------
 Reporter:  haxie1@…       |       Owner:  lsansonetti@…        
     Type:  defect         |      Status:  new                  
 Priority:  blocker        |   Milestone:                       
Component:  MacRuby        |    Keywords:                       
---------------------------+------------------------------------------------

Comment(by watson1978@…):

 I think, maybe this issue is GC of MacRuby or memory allocation of
 nokogiri.

 {{{
 #!ruby
 require 'rubygems'
 gem 'nokogiri'
 require 'nokogiri'

 html_doc = Nokogiri::HTML("<html><body><h1>Mr. Belvedere Fan
 Club</h1></body></html>")
 p html_doc
 xml_doc  =
 Nokogiri::XML("<root><aliens><alien><name>Alf</name></alien></aliens></root>")
 p xml_doc
 }}}

 diff of nokogiri:
 {{{
 #!diff
 diff nokogiri.c.org nokogiri.c
 34,36c34,36
 <       (xmlFreeFunc)ruby_xfree,
 <       (xmlMallocFunc)ruby_xmalloc,
 <       (xmlReallocFunc)ruby_xrealloc,
 ---
 >       (xmlFreeFunc)free,
 >       (xmlMallocFunc)malloc,
 >       (xmlReallocFunc)realloc,
 }}}

 Before apply patch:
 {{{
 $ macruby nokogiri.rb
 zsh: segmentation fault  macruby nokogiri.rb
 }}}

 After:
 {{{
 $ macruby nokogiri.rb
 #<Nokogiri::HTML::Document:0x20032b4c0 name="document"
 children=[#<Nokogiri::XML::DTD:0x200323300 name="html">,
 #<Nokogiri::XML::Element:0x2002eaa60 name="html"
 children=[#<Nokogiri::XML::Element:0x2002c9900 name="body"
 children=[#<Nokogiri::XML::Element:0x2002d8380 name="h1"
 children=[#<Nokogiri::XML::Text:0x2002a74e0 "Mr. Belvedere Fan
 Club">]>]>]>]>
 #<Nokogiri::XML::Document:0x2003608c0 name="document"
 children=[#<Nokogiri::XML::Element:0x200323b80 name="root"
 children=[#<Nokogiri::XML::Element:0x200364040 name="aliens"
 children=[#<Nokogiri::XML::Element:0x2003346e0 name="alien"
 children=[#<Nokogiri::XML::Element:0x20030de20 name="name"
 children=[#<Nokogiri::XML::Text:0x2002fa820 "Alf">]>]>]>]>]>
 }}}

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



More information about the macruby-tickets mailing list