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 On Sep 21, 2007, at 13:38, Calvin Bascom wrote: > Dan, > > The TAP code I pasted in the original email is fine to use for a > test case. As far as the XML document, let me create a smaller > version of the one you currently have with the stuff I don't need > ripped out of it and send that to you in place of the current XML > document you have so the rest stays private. > > As far as the fixes, the latest works some of the time but > segfaults in a different place again sometimes as well (I've > segfaulted 2 out of 6 attempts so far. On 1 of the 6 attempts it > failed somewhere in the XML processing with the error 'arg 1 must > be XML::Document or XML::Node within a document'. I don't know > exactly where that error came from since I haven't reproduced that > one again so far. Also the line where the segfault occurs is now > the @doc.find(xpath).each do |elem| line from inside the > each_antenna method. > > Thanks for all the help, > Calvin > > Here is the backtrace for the new segfault in case its useful: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1209129280 (LWP 1110)] > 0x00cf5937 in rb_obj_is_kind_of (obj=3065905100, c=3064155100) at > object.c:489 > 489 if (cl == c || RCLASS(cl)->m_tbl == RCLASS(c)->m_tbl) > (gdb) bt > #0 0x00cf5937 in rb_obj_is_kind_of (obj=3065905100, c=3064155100) > at object.c:489 > #1 0x008cb1b1 in ruby_xml_xpath_find (argc=2, argv=0xa010fd0, > class=3064147580) at ruby_xml_xpath.c:96 > #2 0x008cb6e2 in ruby_xml_xpath_find2 (argc=2, argv=0xa010fd0) at > ruby_xml_xpath.c:220 > #3 0x008c7263 in ruby_xml_document_find (argc=1, argv=0xbfa08390, > self=3065905160) at ruby_xml_document.c:408 > #4 0x00cc20d6 in call_cfunc (func=0x8c71ec > <ruby_xml_document_find>, recv=3065905160, len=Variable "len" is > not available. > ) at eval.c:5659 > #5 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #6 0x00ccd106 in rb_call (klass=3064155100, recv=3065905160, > mid=3713, argc=1, argv=0xbfa08390, scope=0, self=3065905240) at > eval.c:6062 > #7 0x00cc9129 in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3447 > #8 0x00cc904d in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3441 > #9 0x00ccbe99 in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3177 > #10 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #11 0x00ccd106 in rb_call (klass=3064122920, recv=3065905240, > mid=105465, argc=1, argv=0xbfa08fa0, scope=0, self=3066023020) at > eval.c:6062 > #12 0x00cc9129 in rb_eval (self=3066023020, n=Variable "n" is not > available. > ) at eval.c:3447 > #13 0x00ccbe99 in rb_eval (self=3066023020, n=Variable "n" is not > available. > ) at eval.c:3177 > #14 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #15 0x00cca80b in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3252 > #16 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #17 0x00cd07a2 in rb_yield (val=3064866340) at eval.c:5073 > #18 0x008c4091 in ruby_xml_xpath_object_each (self=3065447340) at > ruby_xml_xpath_object.c:143 > #19 0x00cc20c7 in call_cfunc (func=0x8c4028 > <ruby_xml_xpath_object_each>, recv=3065447340, len=Variable "len" > is not available. > ) at eval.c:5662 > #20 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #21 0x00ccd106 in rb_call (klass=3064147300, recv=3065447340, > mid=3841, argc=0, argv=0x0, scope=0, self=3065905240) at eval.c:6062 > #22 0x00cc9129 in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3447 > #23 0x00ccbe99 in rb_eval (self=3065905240, n=Variable "n" is not > available. > ) at eval.c:3177 > #24 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #25 0x00ccd106 in rb_call (klass=3064122920, recv=3065905240, > mid=105457, argc=0, argv=0x0, scope=0, self=3066023020) at eval.c:6062 > #26 0x00cc9129 in rb_eval (self=3066023020, n=Variable "n" is not > available. > ) at eval.c:3447 > #27 0x00ccbe99 in rb_eval (self=3066023020, n=Variable "n" is not > available. > ) at eval.c:3177 > #28 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #29 0x00ccd106 in rb_call (klass=3066114680, recv=3066023020, > mid=108489, argc=0, argv=0x0, scope=0, self=3066358080) at eval.c:6062 > #30 0x00cc9129 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3447 > #31 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #32 0x00cca80b in rb_eval (self=3066853180, n=Variable "n" is not > available. > ) at eval.c:3252 > #33 0x00ccb674 in rb_eval (self=3066853180, n=Variable "n" is not > available. > ) at eval.c:3263 > #34 0x00ccba62 in rb_eval (self=3066853180, n=Variable "n" is not > available. > ) at eval.c:3311 > #35 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #36 0x00ccd106 in rb_call (klass=3084232160, recv=3066853180, > mid=55513, argc=1, argv=0xbfa0c360, scope=0, self=3066114680) at > eval.c:6062 > #37 0x00cc9129 in rb_eval (self=3066114680, n=Variable "n" is not > available. > ) at eval.c:3447 > #38 0x00cd451d in block_pass (self=3066114680, node=0xb7cc2984) at > eval.c:8871 > #39 0x00cc9c5a in rb_eval (self=3066114680, n=Variable "n" is not > available. > ) at eval.c:3163 > #40 0x00cc9cb7 in rb_eval (self=3066114680, n=Variable "n" is not > available. > ) at eval.c:3628 > #41 0x00ccb674 in rb_eval (self=3066114680, n=Variable "n" is not > available. > ) at eval.c:3263 > #42 0x00ccba62 in rb_eval (self=3066114680, n=Variable "n" is not > available. > ) at eval.c:3311 > #43 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #44 0x00ccd106 in rb_call (klass=3082469780, recv=3066114680, > mid=55513, argc=0, argv=0x0, scope=0, self=3066358080) at eval.c:6062 > #45 0x00cc9129 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3447 > #46 0x00ccbe99 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3177 > #47 0x00ccb674 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3263 > #48 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #49 0x00ccd106 in rb_call (klass=3066453960, recv=3066358080, > mid=12585, argc=0, argv=0xbfa0e6b4, scope=1, self=6) at eval.c:6062 > #50 0x00ccd789 in rb_f_send (argc=0, argv=0xbfa0e6b4, > recv=3066358080) at eval.c:6110 > #51 0x00cc20d6 in call_cfunc (func=0xccd6e4 <rb_f_send>, > recv=3066358080, len=Variable "len" is not available. > ) at eval.c:5659 > #52 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #53 0x00ccd106 in rb_call (klass=3085835420, recv=3066358080, > mid=4049, argc=1, argv=0xbfa0e6b0, scope=1, self=3066358080) at > eval.c:6062 > #54 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > ---Type <return> to continue, or q <return> to quit--- > #55 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #56 0x00ccd106 in rb_call (klass=3069057800, recv=3066358080, > mid=69129, argc=0, argv=0x0, scope=2, self=3066358080) at eval.c:6062 > #57 0x00cca69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #58 0x00cca3ed in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3391 > #59 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #60 0x00ccd106 in rb_call (klass=3068938960, recv=3066358080, > mid=69097, argc=2, argv=0xbfa0f550, scope=1, self=3066358080) at > eval.c:6062 > #61 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #62 0x00cc9cb7 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3628 > #63 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #64 0x00cca80b in rb_eval (self=3066369540, n=Variable "n" is not > available. > ) at eval.c:3252 > #65 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #66 0x00ccd106 in rb_call (klass=3068812200, recv=3066369540, > mid=5265, argc=1, argv=0xbfa10380, scope=0, self=3066358080) at > eval.c:6062 > #67 0x00cc9129 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3447 > #68 0x00ccbe99 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3177 > #69 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #70 0x00ccd106 in rb_call (klass=3068938960, recv=3066358080, > mid=69097, argc=2, argv=0xbfa10c80, scope=1, self=3066358080) at > eval.c:6062 > #71 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #72 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #73 0x00ccd106 in rb_call (klass=3068938960, recv=3066358080, > mid=68481, argc=0, argv=0x0, scope=2, self=3066358080) at eval.c:6062 > #74 0x00cca69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #75 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #76 0x00cca80b in rb_eval (self=3082189820, n=Variable "n" is not > available. > ) at eval.c:3252 > #77 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #78 0x00ccd106 in rb_call (klass=3082189720, recv=3082189820, > mid=57129, argc=0, argv=0x0, scope=0, self=3066358080) at eval.c:6062 > #79 0x00cc9129 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3447 > #80 0x00ccbe99 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3177 > #81 0x00cc904d in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3441 > #82 0x00cca5d1 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3796 > #83 0x00cc904d in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3441 > #84 0x00cc9cb7 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3628 > #85 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #86 0x00ccd106 in rb_call (klass=3068938940, recv=3066358080, > mid=68377, argc=0, argv=0x0, scope=2, self=3066358080) at eval.c:6062 > #87 0x00cca69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #88 0x00ccb674 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3263 > #89 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #90 0x00ccd106 in rb_call (klass=3068938900, recv=3066358080, > mid=63513, argc=0, argv=0xbfa13e44, scope=1, self=6) at eval.c:6062 > #91 0x00ccd789 in rb_f_send (argc=0, argv=0xbfa13e44, > recv=3066358080) at eval.c:6110 > #92 0x00cc20d6 in call_cfunc (func=0xccd6e4 <rb_f_send>, > recv=3066358080, len=Variable "len" is not available. > ) at eval.c:5659 > #93 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #94 0x00ccd106 in rb_call (klass=3085835420, recv=3066358080, > mid=4049, argc=1, argv=0xbfa13e40, scope=1, self=3066358080) at > eval.c:6062 > #95 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #96 0x00ccba62 in rb_eval (self=3066358080, n=Variable "n" is not > available. > ) at eval.c:3311 > #97 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #98 0x00ccd106 in rb_call (klass=3069057800, recv=3066358080, > mid=69121, argc=3, argv=0xbfa14780, scope=1, self=3066358080) at > eval.c:6062 > #99 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #100 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #101 0x00ccd106 in rb_call (klass=3068938960, recv=3066358080, > mid=71297, argc=3, argv=0xbfa14d70, scope=1, self=3066358080) at > eval.c:6062 > #102 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #103 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #104 0x00ccd106 in rb_call (klass=3068931520, recv=3066358080, > mid=30209, argc=2, argv=0xbfa15380, scope=0, self=3066453960) at > eval.c:6062 > #105 0x00cc9129 in rb_eval (self=3066453960, n=Variable "n" is not > available. > ) at eval.c:3447 > #106 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #107 0x00ccd106 in rb_call (klass=3069057680, recv=3066453960, > mid=30209, argc=2, argv=0xbfa15970, scope=0, self=3065836640) at > eval.c:6062 > #108 0x00cc9129 in rb_eval (self=3065836640, n=Variable "n" is not > available. > ) at eval.c:3447 > #109 0x00cc904d in rb_eval (self=3065836640, n=Variable "n" is not > available. > ) at eval.c:3441 > ---Type <return> to continue, or q <return> to quit--- > #110 0x00ccb674 in rb_eval (self=3065836640, n=Variable "n" is not > available. > ) at eval.c:3263 > #111 0x00ccba62 in rb_eval (self=3065836640, n=Variable "n" is not > available. > ) at eval.c:3311 > #112 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #113 0x00ccd106 in rb_call (klass=3065836620, recv=3065836640, > mid=49913, argc=3, argv=0xbfa168a0, scope=0, self=3065809860) at > eval.c:6062 > #114 0x00cc9129 in rb_eval (self=3065809860, n=Variable "n" is not > available. > ) at eval.c:3447 > #115 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #116 0x00cd07a2 in rb_yield (val=6) at eval.c:5073 > #117 0x00cc7071 in rb_ensure (b_proc=0xcd078c <rb_yield>, data1=6, > e_proc=0x15e4c8 <rb_mutex_unlock>, data2=3065809740) at eval.c:5456 > #118 0x0015e5f2 in rb_mutex_synchronize (self=3065809740) at > fastthread.c:526 > #119 0x00cc20c7 in call_cfunc (func=0x15e5c0 > <rb_mutex_synchronize>, recv=3065809740, len=Variable "len" is not > available. > ) at eval.c:5662 > #120 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #121 0x00ccd106 in rb_call (klass=3082463240, recv=3065809740, > mid=11689, argc=0, argv=0x0, scope=0, self=3065809860) at eval.c:6062 > #122 0x00cc9129 in rb_eval (self=3065809860, n=Variable "n" is not > available. > ) at eval.c:3447 > #123 0x00ccbe99 in rb_eval (self=3065809860, n=Variable "n" is not > available. > ) at eval.c:3177 > #124 0x00ccb674 in rb_eval (self=3065809860, n=Variable "n" is not > available. > ) at eval.c:3263 > #125 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #126 0x00ccd106 in rb_call (klass=3083662320, recv=3065809860, > mid=30209, argc=2, argv=0xbfa17f00, scope=0, self=3082978380) at > eval.c:6062 > #127 0x00cc9129 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3447 > #128 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #129 0x00cd07a2 in rb_yield (val=3065809860) at eval.c:5073 > #130 0x00cb114a in rb_ary_each (ary=3065809580) at array.c:1138 > #131 0x00cc20c7 in call_cfunc (func=0xcb110c <rb_ary_each>, > recv=3065809580, len=Variable "len" is not available. > ) at eval.c:5662 > #132 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #133 0x00ccd106 in rb_call (klass=3085804760, recv=3065809580, > mid=3841, argc=0, argv=0x0, scope=0, self=3082978380) at eval.c:6062 > #134 0x00cc9129 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3447 > #135 0x00ccbe99 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3177 > #136 0x00cc8f66 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:2919 > #137 0x00cc93a7 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3101 > #138 0x00ccb674 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3263 > #139 0x00ccba62 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3311 > #140 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #141 0x00ccd106 in rb_call (klass=3081429840, recv=3082978380, > mid=45561, argc=1, argv=0xbfa19d00, scope=1, self=3082978380) at > eval.c:6062 > #142 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #143 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #144 0x00cd810a in rb_thread_start_0 (fn=0xccfa28 > <rb_thread_yield>, arg=0xb6a1e29c, th=0xab55dc0) at eval.c:11878 > #145 0x00cc1fc8 in call_cfunc (func=0xcd8190 > <rb_thread_initialize>, recv=3064062640, len=Variable "len" is not > available. > ) at eval.c:5656 > #146 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #147 0x00ccd106 in rb_call (klass=3085819760, recv=3064062640, > mid=2961, argc=1, argv=0xbfa1aa90, scope=1, self=6) at eval.c:6062 > #148 0x00ccda0d in rb_obj_call_init (obj=3064062640, argc=1, > argv=0xbfa1aa90) at eval.c:7594 > #149 0x00ccda53 in rb_thread_s_new (argc=1, argv=0xbfa1aa90, > klass=3085819760) at eval.c:11991 > #150 0x00cc20d6 in call_cfunc (func=0xccda20 <rb_thread_s_new>, > recv=3085819760, len=Variable "len" is not available. > ) at eval.c:5659 > #151 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #152 0x00ccd106 in rb_call (klass=3085819740, recv=3085819760, > mid=3353, argc=1, argv=0xbfa1aa90, scope=0, self=3082978380) at > eval.c:6062 > #153 0x00cc9129 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3447 > #154 0x00ccbe99 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3177 > #155 0x00cca216 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3638 > #156 0x00ccb674 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3263 > #157 0x00cc93a7 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3101 > #158 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #159 0x00cd810a in rb_thread_start_0 (fn=0xccfa28 > <rb_thread_yield>, arg=0xb6b78084, th=0xa453af8) at eval.c:11878 > #160 0x00cc1fc8 in call_cfunc (func=0xcd8190 > <rb_thread_initialize>, recv=3065479320, len=Variable "len" is not > available. > ) at eval.c:5656 > #161 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #162 0x00ccd106 in rb_call (klass=3085819760, recv=3065479320, > mid=2961, argc=0, argv=0x0, scope=1, self=6) at eval.c:6062 > #163 0x00ccda0d in rb_obj_call_init (obj=3065479320, argc=0, > argv=0x0) at eval.c:7594 > #164 0x00ccda53 in rb_thread_s_new (argc=0, argv=0x0, > klass=3085819760) at eval.c:11991 > ---Type <return> to continue, or q <return> to quit--- > #165 0x00cc20d6 in call_cfunc (func=0xccda20 <rb_thread_s_new>, > recv=3085819760, len=Variable "len" is not available. > ) at eval.c:5659 > #166 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #167 0x00ccd106 in rb_call (klass=3085819740, recv=3085819760, > mid=3353, argc=0, argv=0x0, scope=0, self=3082978380) at eval.c:6062 > #168 0x00cc9129 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3447 > #169 0x00ccbe99 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3177 > #170 0x00cc9f97 in rb_eval (self=3082978380, n=Variable "n" is not > available. > ) at eval.c:3648 > #171 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #172 0x00ccd106 in rb_call (klass=3081429840, recv=3082978380, > mid=5137, argc=0, argv=0x0, scope=0, self=3082979220) at eval.c:6062 > #173 0x00cc9129 in rb_eval (self=3082979220, n=Variable "n" is not > available. > ) at eval.c:3447 > #174 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #175 0x00cd07a2 in rb_yield (val=3065479500) at eval.c:5073 > #176 0x00ce08e9 in each_i (key=3082977900, value=3082978380) at > hash.c:1119 > #177 0x00cdfc74 in hash_foreach_iter (key=3082977900, > value=3082978380, arg=0xbfa1d7f8) at hash.c:170 > #178 0x00d259cf in st_foreach (table=0xa0ca628, func=0xcdfc44 > <hash_foreach_iter>, arg=3215054840) at st.c:487 > #179 0x00cdfd88 in hash_foreach_call (arg=0xbfa1d7f8) at hash.c:205 > #180 0x00cc7071 in rb_ensure (b_proc=0xcdfd60 <hash_foreach_call>, > data1=3215054840, e_proc=0xcdfcfc <hash_foreach_ensure>, > data2=3082979100) > at eval.c:5456 > #181 0x00cdfdf0 in rb_hash_foreach (hash=3082979100, func=0xce08bc > <each_i>, farg=0) at hash.c:223 > #182 0x00ce0918 in rb_hash_each (hash=3082979100) at hash.c:1147 > #183 0x00cc20c7 in call_cfunc (func=0xce08f4 <rb_hash_each>, > recv=3082979100, len=Variable "len" is not available. > ) at eval.c:5662 > #184 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #185 0x00ccd106 in rb_call (klass=3085801740, recv=3082979100, > mid=3841, argc=0, argv=0x0, scope=0, self=3082979220) at eval.c:6062 > #186 0x00cc9129 in rb_eval (self=3082979220, n=Variable "n" is not > available. > ) at eval.c:3447 > #187 0x00ccbe99 in rb_eval (self=3082979220, n=Variable "n" is not > available. > ) at eval.c:3177 > #188 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #189 0x00ccd106 in rb_call (klass=3081481500, recv=3082979220, > mid=5137, argc=0, argv=0x0, scope=0, self=3083042420) at eval.c:6062 > #190 0x00cc9129 in rb_eval (self=3083042420, n=Variable "n" is not > available. > ) at eval.c:3447 > #191 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #192 0x00ccd106 in rb_call (klass=3085221480, recv=3083042420, > mid=5137, argc=0, argv=0x0, scope=0, self=3083042860) at eval.c:6062 > #193 0x00cc9129 in rb_eval (self=3083042860, n=Variable "n" is not > available. > ) at eval.c:3447 > #194 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #195 0x00ccd106 in rb_call (klass=3081582080, recv=3083042860, > mid=5137, argc=1, argv=0xbfa1ef50, scope=0, self=3085830560) at > eval.c:6062 > #196 0x00cc9129 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3447 > #197 0x00ccb04f in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3008 > #198 0x00cd729e in rb_load (fname=3084080640, wrap=0) at eval.c:6857 > #199 0x00cd73a1 in rb_f_load (argc=1, argv=0xbfa1fba0) at eval.c:6925 > #200 0x00cc20d6 in call_cfunc (func=0xcd735c <rb_f_load>, > recv=3085830560, len=Variable "len" is not available. > ) at eval.c:5659 > #201 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #202 0x00ccd106 in rb_call (klass=3085835420, recv=3085830560, > mid=9737, argc=1, argv=0xbfa1fba0, scope=3, self=6) at eval.c:6062 > #203 0x00cd21d5 in rb_call_super (argc=1, argv=0xbfa1fba0) at > eval.c:6230 > #204 0x00cca57d in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3509 > #205 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #206 0x00cca80b in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3252 > #207 0x00ccba62 in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3311 > #208 0x00ccba62 in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3311 > #209 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #210 0x00ccd106 in rb_call (klass=3083516200, recv=3083516340, > mid=41161, argc=1, argv=0xbfa20d20, scope=0, self=3085830560) at > eval.c:6062 > #211 0x00cc9129 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3447 > #212 0x00ccbe99 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3177 > #213 0x00ccb674 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3263 > #214 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #215 0x00ccd106 in rb_call (klass=3085835560, recv=3085830560, > mid=9737, argc=1, argv=0xbfa21930, scope=1, self=3085830560) at > eval.c:6062 > #216 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #217 0x00ccba62 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3311 > #218 0x00cd729e in rb_load (fname=3081413000, wrap=0) at eval.c:6857 > ---Type <return> to continue, or q <return> to quit--- > #219 0x00cd7729 in rb_require_safe (fname=3081417800, safe=0) at > eval.c:7213 > #220 0x00cd79c3 in rb_f_require (obj=3085830560, fname=3081420680) > at eval.c:7106 > #221 0x00cc20b8 in call_cfunc (func=0xcd79a0 <rb_f_require>, > recv=3085830560, len=Variable "len" is not available. > ) at eval.c:5665 > #222 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #223 0x00ccd106 in rb_call (klass=3085835440, recv=3085830560, > mid=30129, argc=1, argv=0xbfa227a0, scope=1, self=3085830560) at > eval.c:6062 > #224 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #225 0x00ccb674 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3263 > #226 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #227 0x00ccd106 in rb_call (klass=3085835420, recv=3085830560, > mid=9745, argc=1, argv=0xbfa230e0, scope=3, self=6) at eval.c:6062 > #228 0x00cd21d5 in rb_call_super (argc=1, argv=0xbfa230e0) at > eval.c:6230 > #229 0x00cca57d in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3509 > #230 0x00ccf501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #231 0x00cca80b in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3252 > #232 0x00ccba62 in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3311 > #233 0x00ccba62 in rb_eval (self=3083516340, n=Variable "n" is not > available. > ) at eval.c:3311 > #234 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #235 0x00ccd106 in rb_call (klass=3083516200, recv=3083516340, > mid=41161, argc=1, argv=0xbfa24260, scope=0, self=3085830560) at > eval.c:6062 > #236 0x00cc9129 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3447 > #237 0x00ccbe99 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3177 > #238 0x00ccb674 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3263 > #239 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #240 0x00ccd106 in rb_call (klass=3085835560, recv=3085830560, > mid=9745, argc=1, argv=0xbfa24e70, scope=1, self=3085830560) at > eval.c:6062 > #241 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #242 0x00cd729e in rb_load (fname=3084030740, wrap=0) at eval.c:6857 > #243 0x00cd7729 in rb_require_safe (fname=3085765860, safe=0) at > eval.c:7213 > #244 0x00cd79c3 in rb_f_require (obj=3085830560, fname=3084216980) > at eval.c:7106 > #245 0x00cc20b8 in call_cfunc (func=0xcd79a0 <rb_f_require>, > recv=3085830560, len=Variable "len" is not available. > ) at eval.c:5665 > #246 0x00ccc4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #247 0x00ccd106 in rb_call (klass=3085835440, recv=3085830560, > mid=30129, argc=1, argv=0xbfa258f0, scope=1, self=3085830560) at > eval.c:6062 > #248 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #249 0x00ccb674 in rb_eval (self=3085830560, n=Variable "n" is not > available. > ) at eval.c:3263 > #250 0x00cccdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #251 0x00ccd106 in rb_call (klass=3085835420, recv=3085830560, > mid=9745, argc=1, argv=0xbfa261f0, scope=1, self=3085830560) at > eval.c:6062 > #252 0x00cc923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #253 0x00cd6345 in ruby_exec_internal () at eval.c:1608 > #254 0x00cd6381 in ruby_exec () at eval.c:1628 > #255 0x00cd829c in ruby_run () at eval.c:1638 > #256 0x08048669 in main (argc=Could not find the frame base for > "main". > ) at main.c:48 > > Dan Janowski wrote: >> Calvin, >> >> The change in stack trace was helpful (never imagined I would say >> that, since they are usually worthless). I looked at how >> xpath.find was handling its arguments and there was something, >> well, not quite right. I reworked it and ran your case with this >> code: >> >> IO.popen("gzcat rwtest/tap-config_1.xml.gz") {|fd| >> t=TAP::Config.new(fd.read) >> puts t.tap_info_from_attrib("rfx-name","tap1","port2-service-role") >> } >> >> It came through a single pass without a problem, but you should >> try it. >> >> Do an svn update. You should get revision 184. >> >> Is this TAP code and the XML document something I can add to svn >> in rwtest or does it need to stay private? >> >> Dan > <snip> _______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel