[libxml-devel] valgrind: Invalid read of size 4
Christopher Boumenot
boumenot at gmail.com
Wed Feb 20 15:16:59 EST 2008
I recently cut over to using libxml instead of REXML for performance
reasons, but my program keeps seg faulting. I ran across a posting on
using valgrind with ruby C libraries, and I thought I would try and
use it to help me debug the issue. valgrind spits out the message
seen at the bottom of this email every 30 seconds or so. (Internally,
I am creating an XML document about that frequently for an outside
service.)
I am running ruby 1.8.5 (ruby 1.8.5 (2006-08-25) [i686-linux]), on CentOS 5.0.
Does anyone have pointers on debugging this issue any further? I am
running revision 277 of libxml from SVN. (I just noticed that a new
version was released yesterday.)
Invalid read of size 4
at 0x42293C4: ruby_xml_attr_free (ruby_xml_attr.c:15)
by 0x8070649: garbage_collect (in /usr/bin/ruby)
by 0x807098B: ruby_xmalloc (in /usr/bin/ruby)
by 0x80787DC: rb_file_open_internal (in /usr/bin/ruby)
by 0x8078A38: rb_io_open (in /usr/bin/ruby)
by 0x807BCB7: rb_io_s_read (in /usr/bin/ruby)
by 0x80553A5: call_cfunc (in /usr/bin/ruby)
by 0x805DAB1: rb_call0 (in /usr/bin/ruby)
by 0x805E6A0: rb_call (in /usr/bin/ruby)
by 0x805C1B5: rb_eval (in /usr/bin/ruby)
by 0x805CB98: rb_eval (in /usr/bin/ruby)
by 0x805E2AA: rb_call0 (in /usr/bin/ruby)
by 0x805E6A0: rb_call (in /usr/bin/ruby)
by 0x805C1B5: rb_eval (in /usr/bin/ruby)
by 0x805A859: rb_eval (in /usr/bin/ruby)
Address 0x59FB87C is 20 bytes inside a block of size 48 free'd
at 0x4004FDA: free (vg_replace_malloc.c:233)
by 0xBCAAE7: xmlFreeProp (in /usr/lib/libxml2.so.2.6.26)
by 0xBCAD2A: xmlFreePropList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA929: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA905: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA905: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA72A: xmlFreeDoc (in /usr/lib/libxml2.so.2.6.26)
by 0x422D15D: ruby_xml_document_free (ruby_xml_document.c:412)
by 0x8070649: garbage_collect (in /usr/bin/ruby)
by 0x807098B: ruby_xmalloc (in /usr/bin/ruby)
by 0x80787DC: rb_file_open_internal (in /usr/bin/ruby)
by 0x8078A38: rb_io_open (in /usr/bin/ruby)
by 0x807BCB7: rb_io_s_read (in /usr/bin/ruby)
by 0x80553A5: call_cfunc (in /usr/bin/ruby)
by 0x805DAB1: rb_call0 (in /usr/bin/ruby)
Invalid write of size 4
at 0x42293C7: ruby_xml_attr_free (ruby_xml_attr.c:14)
by 0x8070649: garbage_collect (in /usr/bin/ruby)
by 0x807098B: ruby_xmalloc (in /usr/bin/ruby)
by 0x80787DC: rb_file_open_internal (in /usr/bin/ruby)
by 0x8078A38: rb_io_open (in /usr/bin/ruby)
by 0x807BCB7: rb_io_s_read (in /usr/bin/ruby)
by 0x80553A5: call_cfunc (in /usr/bin/ruby)
by 0x805DAB1: rb_call0 (in /usr/bin/ruby)
by 0x805E6A0: rb_call (in /usr/bin/ruby)
by 0x805C1B5: rb_eval (in /usr/bin/ruby)
by 0x805CB98: rb_eval (in /usr/bin/ruby)
by 0x805E2AA: rb_call0 (in /usr/bin/ruby)
by 0x805E6A0: rb_call (in /usr/bin/ruby)
by 0x805C1B5: rb_eval (in /usr/bin/ruby)
by 0x805A859: rb_eval (in /usr/bin/ruby)
Address 0x59FB868 is 0 bytes inside a block of size 48 free'd
at 0x4004FDA: free (vg_replace_malloc.c:233)
by 0xBCAAE7: xmlFreeProp (in /usr/lib/libxml2.so.2.6.26)
by 0xBCAD2A: xmlFreePropList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA929: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA905: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA905: xmlFreeNodeList (in /usr/lib/libxml2.so.2.6.26)
by 0xBCA72A: xmlFreeDoc (in /usr/lib/libxml2.so.2.6.26)
by 0x422D15D: ruby_xml_document_free (ruby_xml_document.c:412)
by 0x8070649: garbage_collect (in /usr/bin/ruby)
by 0x807098B: ruby_xmalloc (in /usr/bin/ruby)
by 0x80787DC: rb_file_open_internal (in /usr/bin/ruby)
by 0x8078A38: rb_io_open (in /usr/bin/ruby)
by 0x807BCB7: rb_io_s_read (in /usr/bin/ruby)
by 0x80553A5: call_cfunc (in /usr/bin/ruby)
Regards,
Christopher
More information about the libxml-devel
mailing list