Bugs item #26562, was opened at 2009-07-08 10:28
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1971&aid=26562&group_id=494

Category: None
Group: None
>Status: Closed
>Resolution: Accepted
Priority: 3
Submitted By: Todd Fisher (taf2)
>Assigned to: Charlie Savage (cfis)
Summary: Invalid free when using XML SAX parser

Initial Comment:
I'm running a fairly complex script, combination of a few different binaries... 
right now this is what i know is happening from valgrind:

==11639== Invalid free() / delete / delete[]
==11639==    at 0x4C2433D: free (vg_replace_malloc.c:323)
==11639==    by 0xD5AB4CA: xmlFreeParserCtxt (in /usr/lib64/libxml2.so.2.7.3)
==11639==    by 0x4E77D51: (within /usr/lib64/libruby.so.1.8.6)
==11639==    by 0x4E780E6: ruby_xmalloc (in /usr/lib64/libruby.so.1.8.6)
==11639==    by 0xC69C7BE: alloc_hpricot_struct (hpricot_scan.rl:618)
==11639==    by 0x4E62E00: (within /usr/lib64/libruby.so.1.8.6)
==11639==    by 0x4E62FFC: (within /usr/lib64/libruby.so.1.8.6)
==11639==    by 0x4E63D17: (within /usr/lib64/libruby.so.1.8.6)
==11639==    by 0x4E63FC4: rb_funcall (in /usr/lib64/libruby.so.1.8.6)
==11639==    by 0x4E8E06E: rb_obj_alloc (in /usr/lib64/libruby.so.1.8.6)
==11639==    by 0xC69CD13: rb_hpricot_token (hpricot_scan.rl:302)
==11639==    by 0xC6A7A20: hpricot_scan (hpricot_scan.rl:68)
==11639==  Address 0xd5773a0 is 0 bytes inside data symbol "rxml_sax_handler"


I will work on reducing this to a easier to reproduce test case... 

----------------------------------------------------------------------

>Comment By: Charlie Savage (cfis)
Date: 2011-04-22 22:55

Message:
This is fixed in the latest release.

Thanks for the report - Charlie

----------------------------------------------------------------------

Comment By: Marcin Raczkowski (swistak)
Date: 2009-10-28 16:07

Message:
I'm expiriencing something similar:

 Starting parsing #FOG_Product_20091026171339.xml
with_libxml.rb:44:in `parse': undefined method `on_error' for false:FalseClass 
(NoMethodError)
        from with_libxml.rb:44:in `parse'
        from with_libxml.rb:53
*** glibc detected *** ruby: free(): invalid pointer: 0xb77787a0 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb7c6e1d4]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb7c70186]
/usr/lib/libxml2.so.2(xmlFreeParserCtxt+0xe1)[0xb7641fd1]
/usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.3/lib/libxml_ruby.so[0xb776138d]
ruby(rb_gc_call_finalizer_at_exit+0x9f)[0x80e787f]
ruby[0x80cf899]
ruby(ruby_cleanup+0x168)[0x80dc738]
ruby(ruby_stop+0x11)[0x80dc831]
ruby[0x80e0360]
ruby(SHA1_Update+0x28f)[0x80646ef]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7c15775]
ruby(SHA1_Update+0x1b1)[0x8064611]


source code of the script: http://pastie.org/674111

XML is big (> 2GB) but it doesn't seem to have problem with even bigger ones(> 
5GB), so I don't think that's the issue,

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1971&aid=26562&group_id=494
_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to