I'm trying to use libxml to run some XPath on a document I have as a
string in memory. This is my code for parsing the document:

parser = XML::Parser.new
parser.string = self.content
@xmldoc = parser.parse

Doing the same thing in a test script seems to work without
segfaulting. This is run inside a rails model and segfaults when
testing it. Here's the backtrace:

0xb72b37c4 in ruby_xml_parser_parse (self=144875496) at ruby_xml_parser.c:1124
1124          xmlFreeDoc(rxpc->ctxt->myDoc);

#0  0xb72b37c4 in ruby_xml_parser_parse (self=144875496)
   at ruby_xml_parser.c:1124
#1  0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#2  0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
(...)

Most of the rest seems pretty irrelevant. Just more calls inside ruby
with rb_thread_trap_eval. The full backtrace is attached just in case.

My ruby is:

ruby 1.8.4 (2005-12-24) [i486-linux]

I'm running it on Ubuntu Dapper with kernel 2.6.15-25-386

Pedro.
#0  0xb72b37c4 in ruby_xml_parser_parse (self=144875496)
    at ruby_xml_parser.c:1124
#1  0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#2  0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#3  0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#4  0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#5  0xb7ef9946 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#6  0xb7ef7913 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#7  0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#8  0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#9  0xb7ef8533 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#10 0xb7ef85c6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#11 0xb7ef98ac in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#12 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#13 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#14 0xb7ef8578 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#15 0xb7ef85c6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#16 0xb7ef85c6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#17 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#18 0xb7f030f6 in rb_apply () from /usr/lib/libruby1.8.so.1.8
#19 0xb7ef0523 in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#20 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#21 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#22 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#23 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#24 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#25 0xb7ef8533 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#26 0xb7ef991a in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#27 0xb7ef9fc7 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#28 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#29 0xb7efe9d2 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#30 0xb7efb0af in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#31 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#32 0xb7efc107 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#33 0xb7ef0523 in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#34 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#35 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#36 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#37 0xb7ef8633 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#38 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#39 0xb7eff2de in rb_yield () from /usr/lib/libruby1.8.so.1.8
#40 0xb7edea1a in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
#41 0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#42 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#43 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#44 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#45 0xb7efa997 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#46 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#47 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#48 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#49 0xb7ef8633 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#50 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#51 0xb7eff2de in rb_yield () from /usr/lib/libruby1.8.so.1.8
#52 0xb7edea1a in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
#53 0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#54 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#55 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#56 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#57 0xb7efa997 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#58 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#59 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#60 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#61 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#62 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#63 0xb7efc107 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#64 0xb7ef0523 in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#65 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#66 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#67 0xb7ef8533 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#68 0xb7ef9fc7 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#69 0xb7efa446 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#70 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#71 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#72 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#73 0xb7f034e5 in rb_apply () from /usr/lib/libruby1.8.so.1.8
#74 0xb7ef9418 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#75 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#76 0xb7eff2de in rb_yield () from /usr/lib/libruby1.8.so.1.8
#77 0xb7edea1a in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
#78 0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#79 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#80 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#81 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#82 0xb7efa997 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#83 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#84 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#85 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#86 0xb7f034e5 in rb_apply () from /usr/lib/libruby1.8.so.1.8
#87 0xb7ef9418 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#88 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#89 0xb7eff2de in rb_yield () from /usr/lib/libruby1.8.so.1.8
#90 0xb7edea1a in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
#91 0xb7ef050b in rb_iterator_p () from /usr/lib/libruby1.8.so.1.8
#92 0xb7efaf8c in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#93 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#94 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#95 0xb7efa997 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#96 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#97 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#98 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#99 0xb7efa997 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#100 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#101 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#102 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#103 0xb7ef97e7 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#104 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#105 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#106 0xb7ef8578 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#107 0xb7ef97e7 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#108 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#109 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#110 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#111 0xb7ef97e7 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#112 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#113 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#114 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#115 0xb7ef85c6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#116 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#117 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#118 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#119 0xb7efb6a6 in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#120 0xb7efba1f in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#121 0xb7ef86ab in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#122 0xb7ef84bb in rb_thread_trap_eval () from /usr/lib/libruby1.8.so.1.8
#123 0xb7efdfe0 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#124 0xb7efe9d2 in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#125 0xb7efeb3e in rb_need_block () from /usr/lib/libruby1.8.so.1.8
#126 0xb7effa48 in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8
#127 0xb7effb23 in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8
#128 0xb7f06f41 in ruby_cleanup () from /usr/lib/libruby1.8.so.1.8
#129 0xb7f070f3 in ruby_stop () from /usr/lib/libruby1.8.so.1.8
#130 0xb7f0778e in ruby_run () from /usr/lib/libruby1.8.so.1.8
#131 0x080486b1 in main ()
_______________________________________________
libxml-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to