Segfault in XML::LibXML

Bruce Miller <[email protected]>
Newsgroups gmane.comp.lang.perl.xml
Organization NIST
Message-ID <[email protected]>
Hi all;
   I've just started getting one of those lovely errors
we all enjoy so much. You know the ones: they sometimes
give segfaults, but not every time, and only happens
on long jobs...

So, I ran valgrind (with PERL_DESTRUCT_LEVEL=2),
which then takes _even_ longer, and end up with
some kind of reference counting error, I presume?
(see below).
This is on fedora 10,
perl-5.10.0-56
libxml2-2.6.3.1
perl-XML-LibXML-1.66-2

Undoubtedly, this isn't enough to proceed with,
but as this is relatively unfamiliar territory
for me: Does anyone have suggestions how to
localize the problem better?

> ==4053== Invalid read of size 8
> ==4053==    at 0xAF9F838: PmmREFCNT_dec (in /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/XML/LibXML/LibXML.so)
> ==4053==    by 0xAF32D1A: XS_XML__LibXML__Node_DESTROY (in /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/XML/LibXML/LibXML.so)
> ==4053==    by 0x38EA4BF6B4: Perl_pp_entersub (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4BA90B: Perl_call_sv (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4D63DC: Perl_sv_clear (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4D6D40: Perl_sv_free2 (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4D66F0: Perl_sv_clear (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4D6D40: Perl_sv_free2 (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4ADAF0: Perl_hv_free_ent (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4AF020: (within /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4B1020: Perl_hv_undef (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4D6805: Perl_sv_clear (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==  Address 0x2711ff30 is 0 bytes inside a block of size 34 free'd
> ==4053==    at 0x4A0609F: free (vg_replace_malloc.c:323)
> ==4053==    by 0x38EA4B05C1: Perl_hv_common (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4C3B09: Perl_pp_helem (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA494AC6: Perl_runops_debug (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x38EA4BB5D6: perl_run (in /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/libperl.so)
> ==4053==    by 0x400CF3: main (in /usr/bin/perl)
> 
> ==4053== 
> ==4053== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 4 from 1)
> ==4053== malloc/free: in use at exit: 56,246 bytes in 521 blocks.
> ==4053== malloc/free: 323,176,837 allocs, 323,176,316 frees, 21,619,182,773 bytes allocated.
> ==4053== For counts of detected errors, rerun with: -v
> ==4053== searching for pointers to 521 not-freed blocks.
> ==4053== checked 803,936 bytes.
> ==4053== 
> ==4053== LEAK SUMMARY:
> ==4053==    definitely lost: 0 bytes in 0 blocks.
> ==4053==      possibly lost: 0 bytes in 0 blocks.
> ==4053==    still reachable: 56,246 bytes in 521 blocks.
> ==4053==         suppressed: 0 bytes in 0 blocks.
> ==4053== Rerun with --leak-check=full to see details of leaked memory.



-- 
[email protected]
http://math.nist.gov/~BMiller/
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.