Hi Tom,

Having upgraded to libxml-ruby 1.0.0 yesterday I am now seeing repeatable crashes in the garbage collection. The end of the trace looks like:

#0  rxml_attr_mark (xattr=0x0) at ruby_xml_attr.c:41
#1  0xb7ed6a15 in gc_mark_children (ptr=3050895040, lev=1) at gc.c:945
#2  0xb7ed6c49 in mark_locations_array (x=0xbfc32f90, n=39) at gc.c:629
#3  0xb7ed6e17 in garbage_collect () at gc.c:1366
#4  0xb7ed79c5 in ruby_xmalloc (size=48) at gc.c:103
#5 0xb71855fa in xmlNewPropInternal (node=0xa20a190, ns=0x0, name=0x84983b0 "k", value=0xa20a170 "created_by", eatname=0) at tree.c:1791 #6 0xb727ce48 in rxml_attr_initialize (argc=3, argv=0xbfc333a0, self=3050895040) at ruby_xml_attr.c:104 #7 0xb7eb8815 in call_cfunc (func=0xb727cd30 <rxml_attr_initialize>, recv=3050895040, len=34, argc=3, argv=0xb727d100) at eval.c:5691 #8 0xb7ec0f1d in rb_call0 (klass=3075364500, recv=3050895040, id=2961, oid=2961, argc=3, argv=0xbfc333a0, body=0xb74e561c, flags=0) at eval.c:5846 #9 0xb7ec11d8 in rb_call (klass=3075364500, recv=3050895040, mid=2961, argc=3, argv=0xbfc333a0, scope=1, self=6) at eval.c:6093 #10 0xb7ec14e7 in rb_obj_call_init (obj=3050895040, argc=3, argv=0xbfc333a0) at eval.c:7625 #11 0xb7eef43a in rb_class_new_instance (argc=3, argv=0xbfc333a0, klass=3075364500) at object.c:1594 #12 0xb726cc63 in rxml_attributes_attribute_set (self=3050895060, name=3050895080, value=3050895220) at ruby_xml_attributes.c:176 #13 0xb726f5e3 in rxml_node_property_set (self=3050895120, name=3050895080, value=3050895220) at ruby_xml_node.c:1106

As you can see it is being asked to mark an attribute, but the attribute pointer it is given is null.

Yeah, this should be easy to track down. Is it 1.9.1 by chance? Do you have a test case?

Charlie

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to