Calvin,

This may have nothing to do with the latest code changes. There are  
still plenty of features that have not been fixed (like I just did  
for xpath). The parser class is one. I looked at the _xpath_context  
code and there does not appear to be much of an opportunity for  
corruption there.

Are you only working with libxml via the TAP class? Are you parsing a  
lot of documents or doing a lot of access to few documents? If you  
change the use pattern, does it change the frequency of segv? Do all  
the SEGV have a garbage_collect at about this position?

That being said, the parser is the next thing I will fix. It has some  
particularly concerning code in it and would not be surprised if this  
is from that.

Dan


On Sep 21, 2007, at 20:39, Calvin Bascom wrote:

> Dan,
>
> This one occurs even less frequently than the last one, but
> unfortunately it still segfaults occasionally when garbage collection
> kicks in.  It appears to crop up in random places (inside active- 
> record,
> inside erb, etc.) instead of just when the XML document access is
> occurring like the previous ones, so I'm not sure any of the  
> backtraces
> are worth anything for this one.  The backtrace below which I included
> just in case is the only one that has even had a reference in it to
> anything libxml related, they all have garbage collection in common  
> though.
>
> Calvin
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208449344 (LWP 29695)]
> 0x006cda7b in malloc_consolidate () from /lib/libc.so.6
> (gdb) bt
> #0  0x006cda7b in malloc_consolidate () from /lib/libc.so.6
> #1  0x006ce165 in _int_free () from /lib/libc.so.6
> #2  0x006ce72b in free () from /lib/libc.so.6
> #3  0x0027e103 in xmlHashFree () from /usr/lib/libxml2.so.2
> #4  0x002a2c8e in xmlXPathRegisteredFuncsCleanup () from
> /usr/lib/libxml2.so.2
> #5  0x002a3e40 in xmlXPathFreeContext () from /usr/lib/libxml2.so.2
> #6  0x00ea5a8c in ruby_xml_xpath_context_free (rxxpc=0x8efb560) at
> ruby_xml_xpath_context.c:28
> #7  0x00dad48f in garbage_collect () at gc.c:1209
> #8  0x00dad658 in ruby_xmalloc (size=97804) at gc.c:103
> #9  0x00df3bba in str_new (klass=Variable "klass" is not available.
> ) at string.c:92
> #10 0x00df8508 in rb_str_plus (str1=3065727700, str2=3065727380) at
> string.c:391
> #11 0x00d900b8 in call_cfunc (func=0xdf84d4 <rb_str_plus>,
> recv=3065727700, len=Variable "len" is not available.
> ) at eval.c:5665
> #12 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #13 0x00d9b106 in rb_call (klass=3086505960, recv=3065727700, mid=43,
> argc=1, argv=0xbf9518b0, scope=0, self=3065785320) at eval.c:6062
> #14 0x00d97129 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #15 0x00d970ba in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3442
> #16 0x00d98177 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3424
> #17 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #18 0x00d9b106 in rb_call (klass=3083080640, recv=3065785320,  
> mid=53641,
> argc=0, argv=0x0, scope=2, self=3065785320) at eval.c:6062
> #19 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #20 0x00d97cb7 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #21 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #22 0x00d9b106 in rb_call (klass=3083160680, recv=3065785320,  
> mid=56497,
> argc=0, argv=0x0, scope=2, self=3065785320) at eval.c:6062
> #23 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #24 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #25 0x00d9b106 in rb_call (klass=3083157600, recv=3065785320,  
> mid=12585,
> argc=0, argv=0x0, scope=2, self=3065785320) at eval.c:6062
> #26 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #27 0x00d97cb7 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #28 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #29 0x00d9b106 in rb_call (klass=3083080640, recv=3065785320,  
> mid=53609,
> argc=0, argv=0x0, scope=2, self=3065785320) at eval.c:6062
> #30 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #31 0x00d97cb7 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #32 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #33 0x00d9b106 in rb_call (klass=3083160680, recv=3065785320,  
> mid=51809,
> argc=0, argv=0x0, scope=2, self=3065785320) at eval.c:6062
> #34 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #35 0x00d96db2 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3614
> #36 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #37 0x00d9b106 in rb_call (klass=3083080640, recv=3065785320,  
> mid=53455,
> argc=0, argv=0x0, scope=1, self=3065785320) at eval.c:6062
> #38 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #39 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #40 0x00d9b106 in rb_call (klass=3083163700, recv=3065785320,  
> mid=56071,
> argc=0, argv=0x0, scope=1, self=3065785320) at eval.c:6062
> #41 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #42 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #43 0x00d9880b in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3252
> #44 0x00d99674 in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3263
> #45 0x00d99a62 in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3311
> #46 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #47 0x00d9b106 in rb_call (klass=3084869620, recv=3065931960,  
> mid=55513,
> argc=1, argv=0xbf956480, scope=0, self=3065414060) at eval.c:6062
> #48 0x00d97129 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #49 0x00da251d in block_pass (self=3065414060, node=0xb7d6e5cc) at
> eval.c:8871
> #50 0x00d97c5a in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3163
> #51 0x00d97cb7 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #52 0x00d99674 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3263
> #53 0x00d99a62 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3311
> #54 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #55 0x00d9b106 in rb_call (klass=3083136420, recv=3065414060,  
> mid=55513,
> argc=0, argv=0xbf9578f0, scope=0, self=3065785320) at eval.c:6062
> #56 0x00d97129 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #57 0x00da251d in block_pass (self=3065785320, node=0xb7d6b750) at
> eval.c:8871
> #58 0x00d97c5a in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3163
> #59 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #60 0x00d9b106 in rb_call (klass=3083137420, recv=3065785320,  
> mid=55513,
> argc=0, argv=0x0, scope=1, self=3065785320) at eval.c:6062
> #61 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #62 0x00d99e99 in rb_eval (self=3065785320, n=Variable "n" is not  
> available.
> ) at eval.c:3177
> #63 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #64 0x00d9b106 in rb_call (klass=3083137420, recv=3065785320,  
> mid=51823,
> argc=0, argv=0x0, scope=0, self=3065797980) at eval.c:6062
> #65 0x00d97129 in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #66 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #67 0x00d9880b in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3252
> #68 0x00d99674 in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3263
> #69 0x00d99a62 in rb_eval (self=3065931960, n=Variable "n" is not  
> available.
> ) at eval.c:3311
> #70 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> ---Type <return> to continue, or q <return> to quit---
> #71 0x00d9b106 in rb_call (klass=3084869620, recv=3065931960,  
> mid=55513,
> argc=1, argv=0xbf959e10, scope=0, self=3065414060) at eval.c:6062
> #72 0x00d97129 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #73 0x00da251d in block_pass (self=3065414060, node=0xb7d6e5cc) at
> eval.c:8871
> #74 0x00d97c5a in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3163
> #75 0x00d97cb7 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #76 0x00d99674 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3263
> #77 0x00d99a62 in rb_eval (self=3065414060, n=Variable "n" is not  
> available.
> ) at eval.c:3311
> #78 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #79 0x00d9b106 in rb_call (klass=3083136420, recv=3065414060,  
> mid=55513,
> argc=0, argv=0x0, scope=0, self=3065797980) at eval.c:6062
> #80 0x00d97129 in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3447
> #81 0x00d99e99 in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3177
> #82 0x00d99674 in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3263
> #83 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #84 0x00d9b106 in rb_call (klass=3065549560, recv=3065797980,  
> mid=12585,
> argc=0, argv=0xbf95c164, scope=1, self=6) at eval.c:6062
> #85 0x00d9b789 in rb_f_send (argc=0, argv=0xbf95c164, recv=3065797980)
> at eval.c:6110
> #86 0x00d900d6 in call_cfunc (func=0xd9b6e4 <rb_f_send>,
> recv=3065797980, len=Variable "len" is not available.
> ) at eval.c:5659
> #87 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #88 0x00d9b106 in rb_call (klass=3086515360, recv=3065797980,  
> mid=4049,
> argc=1, argv=0xbf95c160, scope=1, self=3065797980) at eval.c:6062
> #89 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #90 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #91 0x00d9b106 in rb_call (klass=3069736560, recv=3065797980,  
> mid=69129,
> argc=0, argv=0x0, scope=2, self=3065797980) at eval.c:6062
> #92 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #93 0x00d983ed in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3391
> #94 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #95 0x00d9b106 in rb_call (klass=3069662980, recv=3065797980,  
> mid=69097,
> argc=2, argv=0xbf95d000, scope=1, self=3065797980) at eval.c:6062
> #96 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #97 0x00d97cb7 in rb_eval (self=3065797980, n=Variable "n" is not  
> available.
> ) at eval.c:3628
> #98 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #99 0x00d9880b in rb_eval (self=3065492240, n=Variable "n" is not  
> available.
> ) at eval.c:3252
> #100 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #101 0x00d9b106 in rb_call (klass=3069491600, recv=3065492240,  
> mid=5265,
> argc=1, argv=0xbf95de30, scope=0, self=3065797980) at eval.c:6062
> #102 0x00d97129 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #103 0x00d99e99 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #104 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #105 0x00d9b106 in rb_call (klass=3069662980, recv=3065797980,
> mid=69097, argc=2, argv=0xbf95e730, scope=1, self=3065797980) at  
> eval.c:6062
> #106 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #107 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #108 0x00d9b106 in rb_call (klass=3069662980, recv=3065797980,
> mid=68481, argc=0, argv=0x0, scope=2, self=3065797980) at eval.c:6062
> #109 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #110 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #111 0x00d9880b in rb_eval (self=3082862180, n=Variable "n" is not
> available.
> ) at eval.c:3252
> #112 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #113 0x00d9b106 in rb_call (klass=3082862080, recv=3082862180,
> mid=57129, argc=0, argv=0x0, scope=0, self=3065797980) at eval.c:6062
> #114 0x00d97129 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #115 0x00d99e99 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #116 0x00d9704d in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3441
> #117 0x00d985d1 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3796
> #118 0x00d9704d in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3441
> #119 0x00d97cb7 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3628
> #120 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #121 0x00d9b106 in rb_call (klass=3069662960, recv=3065797980,
> mid=68377, argc=0, argv=0x0, scope=2, self=3065797980) at eval.c:6062
> #122 0x00d9869e in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3468
> #123 0x00d99674 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #124 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #125 0x00d9b106 in rb_call (klass=3069662920, recv=3065797980,
> mid=63513, argc=0, argv=0xbf9618f4, scope=1, self=6) at eval.c:6062
> #126 0x00d9b789 in rb_f_send (argc=0, argv=0xbf9618f4,  
> recv=3065797980)
> at eval.c:6110
> #127 0x00d900d6 in call_cfunc (func=0xd9b6e4 <rb_f_send>,
> recv=3065797980, len=Variable "len" is not available.
> ) at eval.c:5659
> #128 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #129 0x00d9b106 in rb_call (klass=3086515360, recv=3065797980,  
> mid=4049,
> argc=1, argv=0xbf9618f0, scope=1, self=3065797980) at eval.c:6062
> #130 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #131 0x00d99a62 in rb_eval (self=3065797980, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #132 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #133 0x00d9b106 in rb_call (klass=3069736560, recv=3065797980,
> mid=69121, argc=3, argv=0xbf962230, scope=1, self=3065797980) at  
> eval.c:6062
> #134 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #135 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #136 0x00d9b106 in rb_call (klass=3069662980, recv=3065797980,
> mid=71297, argc=3, argv=0xbf962820, scope=1, self=3065797980) at  
> eval.c:6062
> #137 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #138 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #139 0x00d9b106 in rb_call (klass=3069654620, recv=3065797980,
> mid=30209, argc=2, argv=0xbf962e30, scope=0, self=3065549560) at  
> eval.c:6062
> #140 0x00d97129 in rb_eval (self=3065549560, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #141 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> ---Type <return> to continue, or q <return> to quit---
> #142 0x00d9b106 in rb_call (klass=3069736440, recv=3065549560,
> mid=30209, argc=2, argv=0xbf963420, scope=0, self=3066734700) at  
> eval.c:6062
> #143 0x00d97129 in rb_eval (self=3066734700, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #144 0x00d9704d in rb_eval (self=3066734700, n=Variable "n" is not
> available.
> ) at eval.c:3441
> #145 0x00d99674 in rb_eval (self=3066734700, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #146 0x00d99a62 in rb_eval (self=3066734700, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #147 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #148 0x00d9b106 in rb_call (klass=3066734680, recv=3066734700,
> mid=49913, argc=3, argv=0xbf964350, scope=0, self=3066708100) at  
> eval.c:6062
> #149 0x00d97129 in rb_eval (self=3066708100, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #150 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #151 0x00d9e7a2 in rb_yield (val=6) at eval.c:5073
> #152 0x00d95071 in rb_ensure (b_proc=0xd9e78c <rb_yield>, data1=6,
> e_proc=0x5164c8 <rb_mutex_unlock>, data2=3066707980) at eval.c:5456
> #153 0x005165f2 in rb_mutex_synchronize (self=3066707980) at
> fastthread.c:526
> #154 0x00d900c7 in call_cfunc (func=0x5165c0 <rb_mutex_synchronize>,
> recv=3066707980, len=Variable "len" is not available.
> ) at eval.c:5662
> #155 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #156 0x00d9b106 in rb_call (klass=3083146280, recv=3066707980,
> mid=11689, argc=0, argv=0x0, scope=0, self=3066708100) at eval.c:6062
> #157 0x00d97129 in rb_eval (self=3066708100, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #158 0x00d99e99 in rb_eval (self=3066708100, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #159 0x00d99674 in rb_eval (self=3066708100, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #160 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #161 0x00d9b106 in rb_call (klass=3084352760, recv=3066708100,
> mid=30209, argc=2, argv=0xbf9659b0, scope=0, self=3083667360) at  
> eval.c:6062
> #162 0x00d97129 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #163 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #164 0x00d9e7a2 in rb_yield (val=3066708100) at eval.c:5073
> #165 0x00d7f14a in rb_ary_each (ary=3066707820) at array.c:1138
> #166 0x00d900c7 in call_cfunc (func=0xd7f10c <rb_ary_each>,
> recv=3066707820, len=Variable "len" is not available.
> ) at eval.c:5662
> #167 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #168 0x00d9b106 in rb_call (klass=3086484700, recv=3066707820,  
> mid=3841,
> argc=0, argv=0x0, scope=0, self=3083667360) at eval.c:6062
> #169 0x00d97129 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #170 0x00d99e99 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #171 0x00d96f66 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:2919
> #172 0x00d973a7 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3101
> #173 0x00d99674 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #174 0x00d99a62 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #175 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #176 0x00d9b106 in rb_call (klass=3082114880, recv=3083667360,
> mid=45561, argc=1, argv=0xbf9677b0, scope=1, self=3083667360) at  
> eval.c:6062
> #177 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #178 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #179 0x00da610a in rb_thread_start_0 (fn=0xd9da28 <rb_thread_yield>,
> arg=0xb6bec920, th=0x906cff8) at eval.c:11878
> #180 0x00d8ffc8 in call_cfunc (func=0xda6190 <rb_thread_initialize>,
> recv=3065956660, len=Variable "len" is not available.
> ) at eval.c:5656
> #181 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #182 0x00d9b106 in rb_call (klass=3086499700, recv=3065956660,  
> mid=2961,
> argc=1, argv=0xbf968540, scope=1, self=6) at eval.c:6062
> #183 0x00d9ba0d in rb_obj_call_init (obj=3065956660, argc=1,
> argv=0xbf968540) at eval.c:7594
> #184 0x00d9ba53 in rb_thread_s_new (argc=1, argv=0xbf968540,
> klass=3086499700) at eval.c:11991
> #185 0x00d900d6 in call_cfunc (func=0xd9ba20 <rb_thread_s_new>,
> recv=3086499700, len=Variable "len" is not available.
> ) at eval.c:5659
> #186 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #187 0x00d9b106 in rb_call (klass=3086499680, recv=3086499700,  
> mid=3353,
> argc=1, argv=0xbf968540, scope=0, self=3083667360) at eval.c:6062
> #188 0x00d97129 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #189 0x00d99e99 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #190 0x00d98216 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3638
> #191 0x00d99674 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #192 0x00d973a7 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3101
> #193 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #194 0x00da610a in rb_thread_start_0 (fn=0xd9da28 <rb_thread_yield>,
> arg=0xb6c53544, th=0x8f46338) at eval.c:11878
> #195 0x00d8ffc8 in call_cfunc (func=0xda6190 <rb_thread_initialize>,
> recv=3066377560, len=Variable "len" is not available.
> ) at eval.c:5656
> #196 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #197 0x00d9b106 in rb_call (klass=3086499700, recv=3066377560,  
> mid=2961,
> argc=0, argv=0x0, scope=1, self=6) at eval.c:6062
> #198 0x00d9ba0d in rb_obj_call_init (obj=3066377560, argc=0, argv=0x0)
> at eval.c:7594
> #199 0x00d9ba53 in rb_thread_s_new (argc=0, argv=0x0,  
> klass=3086499700)
> at eval.c:11991
> #200 0x00d900d6 in call_cfunc (func=0xd9ba20 <rb_thread_s_new>,
> recv=3086499700, len=Variable "len" is not available.
> ) at eval.c:5659
> #201 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #202 0x00d9b106 in rb_call (klass=3086499680, recv=3086499700,  
> mid=3353,
> argc=0, argv=0x0, scope=0, self=3083667360) at eval.c:6062
> #203 0x00d97129 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #204 0x00d99e99 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #205 0x00d97f97 in rb_eval (self=3083667360, n=Variable "n" is not
> available.
> ) at eval.c:3648
> #206 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #207 0x00d9b106 in rb_call (klass=3082114880, recv=3083667360,  
> mid=5137,
> argc=0, argv=0x0, scope=0, self=3083668140) at eval.c:6062
> #208 0x00d97129 in rb_eval (self=3083668140, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #209 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #210 0x00d9e7a2 in rb_yield (val=3066377740) at eval.c:5073
> #211 0x00dae8e9 in each_i (key=3083666820, value=3083667360) at  
> hash.c:1119
> #212 0x00dadc74 in hash_foreach_iter (key=3083666820,  
> value=3083667360,
> arg=0xbf96b2a8) at hash.c:170
> ---Type <return> to continue, or q <return> to quit---
> #213 0x00df39cf in st_foreach (table=0x8a81cb0, func=0xdadc44
> <hash_foreach_iter>, arg=3214324392) at st.c:487
> #214 0x00dadd88 in hash_foreach_call (arg=0xbf96b2a8) at hash.c:205
> #215 0x00d95071 in rb_ensure (b_proc=0xdadd60 <hash_foreach_call>,
> data1=3214324392, e_proc=0xdadcfc <hash_foreach_ensure>,  
> data2=3083668080)
>     at eval.c:5456
> #216 0x00daddf0 in rb_hash_foreach (hash=3083668080, func=0xdae8bc
> <each_i>, farg=0) at hash.c:223
> #217 0x00dae918 in rb_hash_each (hash=3083668080) at hash.c:1147
> #218 0x00d900c7 in call_cfunc (func=0xdae8f4 <rb_hash_each>,
> recv=3083668080, len=Variable "len" is not available.
> ) at eval.c:5662
> #219 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #220 0x00d9b106 in rb_call (klass=3086481680, recv=3083668080,  
> mid=3841,
> argc=0, argv=0x0, scope=0, self=3083668140) at eval.c:6062
> #221 0x00d97129 in rb_eval (self=3083668140, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #222 0x00d99e99 in rb_eval (self=3083668140, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #223 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #224 0x00d9b106 in rb_call (klass=3082166300, recv=3083668140,  
> mid=5137,
> argc=0, argv=0x0, scope=0, self=3083729140) at eval.c:6062
> #225 0x00d97129 in rb_eval (self=3083729140, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #226 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #227 0x00d9b106 in rb_call (klass=3084144640, recv=3083729140,  
> mid=5137,
> argc=0, argv=0x0, scope=0, self=3083730060) at eval.c:6062
> #228 0x00d97129 in rb_eval (self=3083730060, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #229 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #230 0x00d9b106 in rb_call (klass=3082266480, recv=3083730060,  
> mid=5137,
> argc=1, argv=0xbf96ca00, scope=0, self=3086510500) at eval.c:6062
> #231 0x00d97129 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #232 0x00d9904f in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3008
> #233 0x00da529e in rb_load (fname=3084819400, wrap=0) at eval.c:6857
> #234 0x00da53a1 in rb_f_load (argc=1, argv=0xbf96d650) at eval.c:6925
> #235 0x00d900d6 in call_cfunc (func=0xda535c <rb_f_load>,
> recv=3086510500, len=Variable "len" is not available.
> ) at eval.c:5659
> #236 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #237 0x00d9b106 in rb_call (klass=3086515360, recv=3086510500,  
> mid=9737,
> argc=1, argv=0xbf96d650, scope=3, self=6) at eval.c:6062
> #238 0x00da01d5 in rb_call_super (argc=1, argv=0xbf96d650) at  
> eval.c:6230
> #239 0x00d9857d in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3509
> #240 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #241 0x00d9880b in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3252
> #242 0x00d99a62 in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #243 0x00d99a62 in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #244 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #245 0x00d9b106 in rb_call (klass=3084339860, recv=3084340100,
> mid=41161, argc=1, argv=0xbf96e7d0, scope=0, self=3086510500) at  
> eval.c:6062
> #246 0x00d97129 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #247 0x00d99e99 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #248 0x00d99674 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #249 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #250 0x00d9b106 in rb_call (klass=3086515500, recv=3086510500,  
> mid=9737,
> argc=1, argv=0xbf96f3e0, scope=1, self=3086510500) at eval.c:6062
> #251 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #252 0x00d99a62 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #253 0x00da529e in rb_load (fname=3082098120, wrap=0) at eval.c:6857
> #254 0x00da5729 in rb_require_safe (fname=3082102840, safe=0) at  
> eval.c:7213
> #255 0x00da59c3 in rb_f_require (obj=3086510500, fname=3082105720) at
> eval.c:7106
> #256 0x00d900b8 in call_cfunc (func=0xda59a0 <rb_f_require>,
> recv=3086510500, len=Variable "len" is not available.
> ) at eval.c:5665
> #257 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #258 0x00d9b106 in rb_call (klass=3086515380, recv=3086510500,
> mid=30129, argc=1, argv=0xbf970250, scope=1, self=3086510500) at  
> eval.c:6062
> #259 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #260 0x00d99674 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #261 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #262 0x00d9b106 in rb_call (klass=3086515360, recv=3086510500,  
> mid=9745,
> argc=1, argv=0xbf970b90, scope=3, self=6) at eval.c:6062
> #263 0x00da01d5 in rb_call_super (argc=1, argv=0xbf970b90) at  
> eval.c:6230
> #264 0x00d9857d in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3509
> #265 0x00d9d501 in rb_yield_0 (val=Variable "val" is not available.
> ) at eval.c:4991
> #266 0x00d9880b in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3252
> #267 0x00d99a62 in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #268 0x00d99a62 in rb_eval (self=3084340100, n=Variable "n" is not
> available.
> ) at eval.c:3311
> #269 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #270 0x00d9b106 in rb_call (klass=3084339860, recv=3084340100,
> mid=41161, argc=1, argv=0xbf971d10, scope=0, self=3086510500) at  
> eval.c:6062
> #271 0x00d97129 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3447
> #272 0x00d99e99 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3177
> #273 0x00d99674 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #274 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #275 0x00d9b106 in rb_call (klass=3086515500, recv=3086510500,  
> mid=9745,
> argc=1, argv=0xbf972920, scope=1, self=3086510500) at eval.c:6062
> #276 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #277 0x00da529e in rb_load (fname=3084709760, wrap=0) at eval.c:6857
> #278 0x00da5729 in rb_require_safe (fname=3086445780, safe=0) at  
> eval.c:7213
> #279 0x00da59c3 in rb_f_require (obj=3086510500, fname=3084895880) at
> eval.c:7106
> #280 0x00d900b8 in call_cfunc (func=0xda59a0 <rb_f_require>,
> recv=3086510500, len=Variable "len" is not available.
> ) at eval.c:5665
> #281 0x00d9a4dd in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5815
> #282 0x00d9b106 in rb_call (klass=3086515380, recv=3086510500,
> mid=30129, argc=1, argv=0xbf9733a0, scope=1, self=3086510500) at  
> eval.c:6062
> ---Type <return> to continue, or q <return> to quit---
> #283 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #284 0x00d99674 in rb_eval (self=3086510500, n=Variable "n" is not
> available.
> ) at eval.c:3263
> #285 0x00d9adbf in rb_call0 (klass=Variable "klass" is not available.
> ) at eval.c:5966
> #286 0x00d9b106 in rb_call (klass=3086515360, recv=3086510500,  
> mid=9745,
> argc=1, argv=0xbf973ca0, scope=1, self=3086510500) at eval.c:6062
> #287 0x00d9723f in rb_eval (self=Variable "self" is not available.
> ) at eval.c:3462
> #288 0x00da4345 in ruby_exec_internal () at eval.c:1608
> #289 0x00da4381 in ruby_exec () at eval.c:1628
> #290 0x00da629c in ruby_run () at eval.c:1638
> #291 0x08048669 in main (argc=Could not find the frame base for  
> "main".
> ) at main.c:48
>
> Dan Janowski wrote:
>> Calvin,
>>
>> This bug took some time to find, but I got it. XPath was probably the
>> best way to expose it, since it had to do with random access to nodes
>> (really freeing them, but what's the difference). It would have had
>> an impact somewhere else for sure.
>>
>> It is all committed and an update should yield #187. Give it a try
>> (one more time).
>>
>> Hopeful you will report all clear.
>>
>> Dan
>>
>>
>>
> _______________________________________________
> 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