This is most likely related to a copy node bug which has been fixed in a .4
release. Ross fixed per an issue I opened.   Although the .4 release is
labled as a pre-release, it is stable with the exception of the memory bug.

Upgrade and it will most likely fix the problem.

See issue #4635 (now closed)
http://rubyforge.org/tracker/index.php?func=detail&aid=4635&group_id=494&atid=1971

Doug

On 8/22/07, Marc Munro <[EMAIL PROTECTED]> wrote:
>
> Folks,
> I have a reproducible crash using libxml.  I'd like some suggestions on
> how I can track this down as it's become a show-stopper for my current
> project.  This is from a libxml gem created from svn this morning.
>
> I can write and debug C but I'd like some suggestions on what to look
> for, and what to try.  I am inclined to modify all calls to free() to
> zero or set the allocated memory chunk before freeing it in the hope
> that this will make it obvious where things are breaking.  Having not
> hacked ruby before I am not sure how easy this will be.  I'm also
> wondering whether any of the standard C memory testing tools can be
> easily incorporated into the ruby build.
>
> I'd welcome any suggestions/random thoughts/shared experiences/anything
> from anyone at this stage :-)
>
> Here is the backtrace, in case it helps.
>
> *** glibc detected *** ruby: double free or corruption (fasttop):
> 0x081f98d8 ***
> ======= Backtrace: =========
> /lib/libc.so.6[0xb7d08824]
> /lib/libc.so.6(cfree+0x90)[0xb7d0be90]
> /usr/lib/libruby1.8.so.1.8(ruby_xfree+0x37)[0xb7e99d67]
> /usr/lib/libxml2.so.2(xmlFreeNodeList+0x11d)[0xb7b0eadd]
> /usr/lib/libxml2.so.2(xmlFreeProp+0x52)[0xb7b0ec12]
> /usr/lib/libxml2.so.2(xmlFreePropList+0x1b)[0xb7b0ee8b]
> /usr/lib/libxml2.so.2(xmlFreeNodeList+0xba)[0xb7b0ea7a]
> /usr/lib/libxml2.so.2(xmlFreeNodeList+0x96)[0xb7b0ea56]
> /usr/lib/libxml2.so.2(xmlFreeNode+0x7b)[0xb7b0ef1b]
> /usr/lib/ruby/1.8/i486-linux/xml/libxml_so.so(ruby_xml_node_free
> +0x5d)[0xb7c0abdd]
> /usr/lib/libruby1.8.so.1.8(rb_gc_call_finalizer_at_exit
> +0xa7)[0xb7e9a027]
> /usr/lib/libruby1.8.so.1.8[0xb7e802a7]
> /usr/lib/libruby1.8.so.1.8(ruby_cleanup+0x103)[0xb7e88293]
> /usr/lib/libruby1.8.so.1.8(ruby_stop+0x1d)[0xb7e8839d]
> /usr/lib/libruby1.8.so.1.8[0xb7e93181]
> ruby[0x80486bd]
> /lib/libc.so.6(__libc_start_main+0xe0)[0xb7cb5030]
> ruby[0x80485e1]
> ======= Memory map: ========
> 08048000-08049000 r-xp 00000000 03:01 21071      /usr/bin/ruby1.8
> 08049000-0804a000 rw-p 00000000 03:01 21071      /usr/bin/ruby1.8
> 0804a000-088f6000 rw-p 0804a000 00:00 0          [heap]
> b7800000-b7821000 rw-p b7800000 00:00 0
> b7821000-b7900000 ---p b7821000 00:00 0
> b79de000-b79e6000 rw-p b79de000 00:00 0
> b79e9000-b79f3000 r-xp 00000000 03:01 472100     /lib/libgcc_s.so.1
> b79f3000-b79f4000 rw-p 00009000 03:01 472100     /lib/libgcc_s.so.1
> b7a07000-b7a56000 r-xp 00000000 03:01
> 19373      /usr/lib/libgcrypt.so.11.2.3
> b7a56000-b7a58000 rw-p 0004f000 03:01
> 19373      /usr/lib/libgcrypt.so.11.2.3
> b7a58000-b7a68000 r-xp 00000000 03:01
> 17836      /usr/lib/libexslt.so.0.8.13
> b7a68000-b7a69000 rw-p 0000f000 03:01
> 17836      /usr/lib/libexslt.so.0.8.13
> b7a69000-b7a9c000 r-xp 00000000 03:01
> 21872      /usr/lib/libxslt.so.1.1.21
> b7a9c000-b7a9d000 rw-p 00032000 03:01
> 21872      /usr/lib/libxslt.so.1.1.21
> b7a9d000-b7ab1000 r-xp 00000000 03:01 233293     /lib/libnsl-2.6.so
> b7ab1000-b7ab3000 rw-p 00013000 03:01 233293     /lib/libnsl-2.6.so
> b7ab3000-b7ab5000 rw-p b7ab3000 00:00 0
> b7ab5000-b7ac9000 r-xp 00000000 03:01
> 18146      /usr/lib/libz.so.1.2.3.3
> b7ac9000-b7aca000 rw-p 00013000 03:01
> 18146      /usr/lib/libz.so.1.2.3.3
> b7aca000-b7be1000 r-xp 00000000 03:01
> 16657      /usr/lib/libxml2.so.2.6.29
> b7be1000-b7be6000 rw-p 00116000 03:01
> 16657      /usr/lib/libxml2.so.2.6.29
> b7be6000-b7be8000 rw-p b7be6000 00:00 0
> b7be8000-b7bfa000 rw-p b7be8000 00:00 0
> b7bfa000-b7c14000 r-xp 00000000 03:01
> 146364     /usr/lib/ruby/1.8/i486-linux/xml/libxml_so.so
> b7c14000-b7c15000 rw-p 0001a000 03:01
> 146364     /usr/lib/ruby/1.8/i486-linux/xml/libxml_so.so
> b7c15000-b7c9f000 rw-p b7c15000 00:00 0
> b7c9f000-b7de0000 r-xp 00000000 03:01 233283     /lib/libc-2.6.so
> b7de0000-b7de1000 r--p 00141000 03:01 233283     /lib/libc-2.6.so
> b7de1000-b7de3000 rw-p 00142000 03:01 233283     /lib/libc-2.6.so
> b7de3000-b7de6000 rw-p b7de3000 00:00 0
> b7de6000-b7e0b000 r-xp 00000000 03:01 233287     /lib/libm-2.6.so
> b7e0b000-b7e0d000 rw-p 00024000 03:01 233287     /lib/libm-2.6.so
> b7e0d000-b7e12000 r-xp 00000000 03:01 233285     /lib/libcrypt-2.6.so
> b7e12000-b7e14000 rw-p 00004000 03:01 233285     /lib/libcrypt-2.6.so
> b7e14000-b7e3b000 rw-p b7e14000 00:00 0
> b7e3b000-b7e3d000 r-xp 00000000 03:01 233286     /lib/libdl-2.6.so
> b7e3d000-b7e3f000 rw-p 00001000 03:01 233286     /lib/libdl-2.6.so
> b7e3f000-b7e40000 rw-p b7e3f000 00:00 0
> b7e40000-b7e53000 r-xp 00000000 03:01 233301     /lib/libpthread-2.6.so
> b7e53000-b7e55000 rw-p 00012000 03:01 233301     /lib/libpthread-2.6.so
> b7e55000-b7e57000 rw-p b7e55000 00:00 0
> b7e57000-b7f14000 r-xp 00000000 03:01
> 29683      /usr/lib/libruby1.8.so.1.8.6
> b7f14000-b7f17000 rw-p 000bc000 03:01
> 29683      /usr/lib/libruby1.8.so.1.8.6
> b7f17000-b7f26000 rw-p b7f17000 00:00 0
> b7f28000-b7f2a000 rw-p b7f28000 00:00 0
> b7f2a000-b7f2d000 r-xp 00000000 03:01
> 18898      /usr/lib/libgpg-error.so.0.3.0
> b7f2d000-b7f2e000 rw-p 00002000 03:01
> 18898      /usr/lib/libgpg-error.so.0.3.0
> b7f2e000-b7f33000 r-xp 00000000 03:01
> 146769     /usr/lib/ruby/1.8/i486-linux/xml/libxslt.so
> b7f33000-b7f34000 rw-p 00004000 03:01
> 146769     /usr/lib/ruby/1.8/i486-linux/xml/libxslt.so
> b7f34000-b7f38000 r-xp 00000000 03:01
> 150566     /usr/lib/ruby/1.8/i486-linux/stringio.so
> b7f38000-b7f39000 rw-p 00003000 03:01
> 150566     /usr/lib/ruby/1.8/i486-linux/stringio.so
> b7f39000-b7f3b000 rw-p b7f39000 00:00 0
> b7f3b000-b7f57000 r-xp 00000000 03:01 991671     /lib/ld-2.6.so
> b7f57000-b7f59000 rw-p 0001b000 03:01 991671     /lib/ld-2.6.so
> bf9f5000-bfa57000 rw-p bf9f5000 00:00 0          [stack]
> ffffe000-fffff000 ---p 00000000 00:00 0          [vdso]
> Aborted
>
>
> __
> Marc
>
> _______________________________________________
> libxml-devel mailing list
> libxml-devel@rubyforge.org
> http://rubyforge.org/mailman/listinfo/libxml-devel
>
>
_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to