Greetings,

So my last posts about crashes in 'ruby_xml_xpath_object_mark' turned  
out to be a non-issue since the problem is already fixed. However,  
I'm still getting *lots* of random crashes which prevent my web  
application to stay up for more than 10mn, which is of course  
unacceptable.

The strange thing is that those crashes have different code paths but  
all end up in the system malloc. Here are four examples...

Example 1:

0   libSystem.B.dylib           0x90003cf4 szone_malloc + 956
1   libSystem.B.dylib           0x90003600 malloc + 632
2   libxml2.2.dylib             0x015615e8 xmlXPathNodeSetCreate + 56
3   libxml2.2.dylib             0x01561764 xmlXPathNewNodeSet + 116
4   libxml2.2.dylib             0x01572b14 xmlXPathRunStreamEval + 148
5   libxml2.2.dylib             0x01572f28 xmlXPathRunEval + 248
6   libxml2.2.dylib             0x015737fc xmlXPathCompiledEvalInternal  
+ 364
7   libxml2.2.dylib             0x01573950 xmlXPathCompiledEval + 32
8   libxml_so.bundle            0x01132c38 ruby_xml_xpath_find + 472
9   libxml_so.bundle            0x01132d58 ruby_xml_xpath_find2 + 56
10  libxml_so.bundle            0x0112978c ruby_xml_node_find + 96
11  libxml_so.bundle            0x011297b0 ruby_xml_node_find_first + 16
12  libruby.dylib               0x002254dc call_cfunc + 256
13  libruby.dylib               0x00224b20 rb_call0 + 1168
....

Example 2:

0   libSystem.B.dylib           0x90003cf4 szone_malloc + 956
1   libSystem.B.dylib           0x90003600 malloc + 632
2   libxml2.2.dylib             0x01561728 xmlXPathNewNodeSet + 56
3   libxml2.2.dylib             0x01570b54 xmlXPathCompOpEvalPredicate +  
260
4   libxml2.2.dylib             0x015719c4 xmlXPathNodeCollectAndTest +  
3380
5   libxml2.2.dylib             0x0156fa28 xmlXPathCompOpEval + 2072
6   libxml2.2.dylib             0x015703a0 xmlXPathCompOpEval + 4496
7   libxml2.2.dylib             0x01572fe8 xmlXPathRunEval + 440
8   libxml2.2.dylib             0x015737fc xmlXPathCompiledEvalInternal  
+ 364
9   libxml2.2.dylib             0x01573950 xmlXPathCompiledEval + 32
10  libxml_so.bundle            0x01132c38 ruby_xml_xpath_find + 472
11  libxml_so.bundle            0x01132d58 ruby_xml_xpath_find2 + 56
12  libxml_so.bundle            0x0112978c ruby_xml_node_find + 96
13  libxml_so.bundle            0x011297b0 ruby_xml_node_find_first + 16
14  libruby.dylib               0x002254dc call_cfunc + 256
15  libruby.dylib               0x00224b20 rb_call0 + 1168
....

Example 3:

0   libSystem.B.dylib           0x90003cf4 szone_malloc + 956
1   libSystem.B.dylib           0x90003600 malloc + 632
2   libruby.dylib               0x002379d8 ruby_xmalloc + 136
3   libruby.dylib               0x0021f268 rb_eval + 6780
4   libruby.dylib               0x0021dd44 rb_eval + 1368
5   libruby.dylib               0x00225148 rb_call0 + 2744
6   libruby.dylib               0x00225b18 rb_call + 600
7   libruby.dylib               0x0021f41c rb_eval + 7216
8   libruby.dylib               0x0021dd44 rb_eval + 1368
9   libruby.dylib               0x0021f220 rb_eval + 6708
10  libruby.dylib               0x0021f298 rb_eval + 6828
11  libruby.dylib               0x00222c24 rb_yield_0 + 1368
12  libruby.dylib               0x00223070 rb_yield_values + 180
13  libruby.dylib               0x00215b2c each_with_index_i + 48
....

Example 4:

0   libSystem.B.dylib           0x90003cf4 szone_malloc + 956
1   libSystem.B.dylib           0x90003600 malloc + 632
2   libxml2.2.dylib             0x0158a918 xmlStrndup + 72
3   libxml2.2.dylib             0x01530fc4 xmlNewPropInternal + 340
4   libxml2.2.dylib             0x015e2fbc xmlSAX2StartElementNs + 1468
5   libxml2.2.dylib             0x0151bbbc xmlParseStartTag2 + 3612
6   libxml2.2.dylib             0x015282cc xmlParseElement + 220
7   libxml2.2.dylib             0x01526ae8 xmlParseContent + 312
8   libxml2.2.dylib             0x015284d8 xmlParseElement + 744
9   libxml2.2.dylib             0x01526ae8 xmlParseContent + 312
10  libxml2.2.dylib             0x015284d8 xmlParseElement + 744
11  libxml2.2.dylib             0x01526ae8 xmlParseContent + 312
12  libxml2.2.dylib             0x015284d8 xmlParseElement + 744
13  libxml2.2.dylib             0x01526ae8 xmlParseContent + 312
14  libxml2.2.dylib             0x015284d8 xmlParseElement + 744
15  libxml2.2.dylib             0x01528c38 xmlParseDocument + 1096
16  libxml_so.bundle            0x0112de60 ruby_xml_parser_parse + 96
17  libruby.dylib               0x002254f0 call_cfunc + 276
....

I have a bad feeling about these problems, I don't see why malloc  
would crash.

Anyone have an idea ? This is on OS X by the way.

-- 
Luc Heinrich


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

Reply via email to