From transfire at gmail.com Sun Sep 2 22:29:26 2007 From: transfire at gmail.com (TRANS) Date: Sun, 2 Sep 2007 19:29:26 -0700 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: References: Message-ID: <4b6f054f0709021929l17920bdbu8efda6bfe7b2691a@mail.gmail.com> On 8/30/07, Dan Janowski wrote: > libxml at rubyforge (http://rubyforge.org/projects/libxml/) now has a > packaged development release from the MEM2 branch (New Memory Model) > http://rubyforge.org/frs/shownotes.php?release_id=14118 > > The downloads are highlighted here: > > http://rubyforge.org/frs/?group_id=494&release_id=14118 > > Please be sure to read the brief release notes about running the > tests in 'rwtest' without having to install this release. > > If anyone has amd64/freeBSD the rwtest/doc_file.rb seems to be > specific to that platform. If anyone can test it, please report back. > > The next release should increase the coverage of MEM2 as well as > integrating the tests in rwtest into the rake file. > > This release of MEM2 resolves a wide variety of bugs. Hey Dan, Which version is the MEM2 a branch of --is it the current trunk? Thanks, T. From rosco at roscopeco.co.uk Mon Sep 3 12:24:31 2007 From: rosco at roscopeco.co.uk (Ross Bamford) Date: Mon, 03 Sep 2007 17:24:31 +0100 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> References: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> Message-ID: Hi, On Fri, 31 Aug 2007 16:53:52 +0100, Dan Janowski wrote: > Ross, > > Try this again with the patch release just announced. > > Dan > Still seeing exactly the same problem. Can anyone else confirm this? Anyway, let me know if you need more information. Cheers, Ross > On Aug 31, 2007, at 08:54, Ross Bamford wrote: > >> On Thu, 30 Aug 2007 14:41:16 +0100, Dan Janowski >> wrote: >> >>> libxml at rubyforge (http://rubyforge.org/projects/libxml/) now has a >>> packaged development release from the MEM2 branch (New Memory Model) >>> http://rubyforge.org/frs/shownotes.php?release_id=14118 >>> >> >> Very cool, Dan! :) >> >> On my box though, it seems to break the previous bug tests - both >> tests/copy_bug.rb and tests/copy_bug2.rb bomb out with a doublefree >> error. >> FYI this is compiled from the gem, with GCC 4.1.1 (Red Hat 4.1.1-1). I >> included a trace below. Also, running in valgrind shows rather a >> lot of >> memory errors (but no leaks, so looking good there!) >> -- Ross Bamford - rosco at roscopeco.co.uk From danj at 3skel.com Tue Sep 4 09:04:50 2007 From: danj at 3skel.com (Dan Janowski) Date: Tue, 4 Sep 2007 09:04:50 -0400 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: References: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> Message-ID: Aah, the << operator. I make a note in the code when I reviewed it that there was something amiss. I have fixed it and checked it into (the MEM2 branch). The copy_bug.rb and copy_bug2.rb are moved in to rwtests and will run as part of 'rake memtests'. They clear now. There was an issue in copy_bug2.rb in the xpath find that did not yield the hoped result, so I modified it to find the aaa nodes. Do an svn update on the MEM2 branch to try it (not released). Dan On Sep 3, 2007, at 12:24, Ross Bamford wrote: > Hi, > > On Fri, 31 Aug 2007 16:53:52 +0100, Dan Janowski > wrote: > >> Ross, >> >> Try this again with the patch release just announced. >> >> Dan >> > > Still seeing exactly the same problem. Can anyone else confirm this? > Anyway, let me know if you need more information. > > Cheers, > Ross > > > > >> On Aug 31, 2007, at 08:54, Ross Bamford wrote: >> >>> On Thu, 30 Aug 2007 14:41:16 +0100, Dan Janowski >>> wrote: >>> >>>> libxml at rubyforge (http://rubyforge.org/projects/libxml/) now >>>> has a >>>> packaged development release from the MEM2 branch (New Memory >>>> Model) >>>> http://rubyforge.org/frs/shownotes.php?release_id=14118 >>>> >>> >>> Very cool, Dan! :) >>> >>> On my box though, it seems to break the previous bug tests - both >>> tests/copy_bug.rb and tests/copy_bug2.rb bomb out with a doublefree >>> error. >>> FYI this is compiled from the gem, with GCC 4.1.1 (Red Hat >>> 4.1.1-1). I >>> included a trace below. Also, running in valgrind shows rather a >>> lot of >>> memory errors (but no leaks, so looking good there!) >>> > > -- > Ross Bamford - rosco at roscopeco.co.uk > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Tue Sep 4 09:14:01 2007 From: danj at 3skel.com (Dan Janowski) Date: Tue, 4 Sep 2007 09:14:01 -0400 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: <4b6f054f0709021929l17920bdbu8efda6bfe7b2691a@mail.gmail.com> References: <4b6f054f0709021929l17920bdbu8efda6bfe7b2691a@mail.gmail.com> Message-ID: <8EDB3186-9B33-418A-80E4-3073A0447EE4@3skel.com> Trans, The trunk had not been merged from MEM2 at all yet. It is still in the 0.4pre state. If the MEM2 is deemed a better stable version then I can merge back into the trunk. We should make a project coding decision about where development happens. I prefer development in branches, the trunk always being the last stable release. I think it is probably fine for other developers to work in the MEM2 branch for now. However, many of the old patches that are waiting in the wings have either been dealt with or may no longer be applicable. I would also ask that anything that touches memory management be discussed first so as to not create problems, since my activity is through the entire code base. Dan On Sep 2, 2007, at 22:29, TRANS wrote: > On 8/30/07, Dan Janowski wrote: >> libxml at rubyforge (http://rubyforge.org/projects/libxml/) now has a >> packaged development release from the MEM2 branch (New Memory Model) >> http://rubyforge.org/frs/shownotes.php?release_id=14118 >> >> The downloads are highlighted here: >> >> http://rubyforge.org/frs/?group_id=494&release_id=14118 >> >> Please be sure to read the brief release notes about running the >> tests in 'rwtest' without having to install this release. >> >> If anyone has amd64/freeBSD the rwtest/doc_file.rb seems to be >> specific to that platform. If anyone can test it, please report back. >> >> The next release should increase the coverage of MEM2 as well as >> integrating the tests in rwtest into the rake file. >> >> This release of MEM2 resolves a wide variety of bugs. > > Hey Dan, > > Which version is the MEM2 a branch of --is it the current trunk? > > Thanks, > T. > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Tue Sep 4 16:50:55 2007 From: danj at 3skel.com (Dan Janowski) Date: Tue, 4 Sep 2007 16:50:55 -0400 Subject: [libxml-devel] (copy_bug) MEM2 development release (0.5.0) In-Reply-To: References: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> Message-ID: <35C034E2-3E0E-48E8-AB1F-91FF09BB6651@3skel.com> I did a little testing of << against my own application and found an incompatibility. << now copies a node/tree before adding it to another. I had code that added the node to a tree and then modified the node. This modified the original and not the copy in the parented tree. I don't see this as a problem, and the ruby code (in my app) seemed kinda dumb to do it that way. There may be a way to modify the behavior, and I wanted to know if it makes sense to do so: When a node/tree is parented and it is the top node (no other parent) and not part of a doc, then it can be installed in place without copying, and the original node is modified as it is now a child. If it is an intermediate node, then it is always copied. --or-- since this is variable behavior that may not be obvious, maybe we disallow (raise) << for nodes that are part of other trees? This may break even more things though. The copy feature when a node is a non-doc root, could be made optional. Either way the behavior changes. Should there be a warning? Dan On Sep 4, 2007, at 09:04, Dan Janowski wrote: > Aah, the << operator. I make a note in the code when I reviewed it > that there was something amiss. I have fixed it and checked it into > (the MEM2 branch). The copy_bug.rb and copy_bug2.rb are moved in to > rwtests and will run as part of 'rake memtests'. They clear now. > There was an issue in copy_bug2.rb in the xpath find that did not > yield the hoped result, so I modified it to find the aaa nodes. > > Do an svn update on the MEM2 branch to try it (not released). > > Dan > > On Sep 3, 2007, at 12:24, Ross Bamford wrote: > >> Hi, >> >> On Fri, 31 Aug 2007 16:53:52 +0100, Dan Janowski >> wrote: >> >>> Ross, >>> >>> Try this again with the patch release just announced. >>> >>> Dan >>> >> >> Still seeing exactly the same problem. Can anyone else confirm this? >> Anyway, let me know if you need more information. >> >> Cheers, >> Ross >> >> >> >> >>> On Aug 31, 2007, at 08:54, Ross Bamford wrote: >>> >>>> On Thu, 30 Aug 2007 14:41:16 +0100, Dan Janowski >>>> wrote: >>>> >>>>> libxml at rubyforge (http://rubyforge.org/projects/libxml/) now >>>>> has a >>>>> packaged development release from the MEM2 branch (New Memory >>>>> Model) >>>>> http://rubyforge.org/frs/shownotes.php?release_id=14118 >>>>> >>>> >>>> Very cool, Dan! :) >>>> >>>> On my box though, it seems to break the previous bug tests - both >>>> tests/copy_bug.rb and tests/copy_bug2.rb bomb out with a doublefree >>>> error. >>>> FYI this is compiled from the gem, with GCC 4.1.1 (Red Hat >>>> 4.1.1-1). I >>>> included a trace below. Also, running in valgrind shows rather a >>>> lot of >>>> memory errors (but no leaks, so looking good there!) >>>> >> >> -- >> Ross Bamford - rosco at roscopeco.co.uk >> _______________________________________________ >> libxml-devel mailing list >> libxml-devel at rubyforge.org >> http://rubyforge.org/mailman/listinfo/libxml-devel > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From transfire at gmail.com Tue Sep 4 17:09:23 2007 From: transfire at gmail.com (TRANS) Date: Tue, 4 Sep 2007 14:09:23 -0700 Subject: [libxml-devel] (copy_bug) MEM2 development release (0.5.0) In-Reply-To: <35C034E2-3E0E-48E8-AB1F-91FF09BB6651@3skel.com> References: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> <35C034E2-3E0E-48E8-AB1F-91FF09BB6651@3skel.com> Message-ID: <4b6f054f0709041409r6a2a2936w959e3b7efffa4c76@mail.gmail.com> On 9/4/07, Dan Janowski wrote: > I did a little testing of << against my own application and found an > incompatibility. > > << now copies a node/tree before adding it to another. I had code > that added the node to a tree and then modified the node. This > modified the original and not the copy in the parented tree. I don't > see this as a problem, and the ruby code (in my app) seemed kinda > dumb to do it that way. > > There may be a way to modify the behavior, and I wanted to know if it > makes sense to do so: > > When a node/tree is parented and it is the top node (no other parent) > and not part of a doc, then it can be installed in place without > copying, and the original node is modified as it is now a child. If > it is an intermediate node, then it is always copied. > > --or-- > > since this is variable behavior that may not be obvious, maybe we > disallow (raise) << for nodes that are part of other trees? This may > break even more things though. > > The copy feature when a node is a non-doc root, could be made > optional. Either way the behavior changes. Should there be a warning? A bit more general of a question... If it's being copied how does one maintain a reference too it? So unless I'm missing something, your second choice makes more sense. There should be a way to detach a node from it's tree, even after one has referenced it, and copying a node of course makes the copy in a detached state. Of course, I'm no expert on the internals of libxml, but from a high-level perspective that seems the most intuitive approach to me. T. From danj at 3skel.com Tue Sep 4 20:25:34 2007 From: danj at 3skel.com (Dan Janowski) Date: Tue, 4 Sep 2007 20:25:34 -0400 Subject: [libxml-devel] (copy_bug) MEM2 development release (0.5.0) In-Reply-To: <4b6f054f0709041409r6a2a2936w959e3b7efffa4c76@mail.gmail.com> References: <64EA1073-9337-4311-AB05-780CFD36B58C@3skel.com> <35C034E2-3E0E-48E8-AB1F-91FF09BB6651@3skel.com> <4b6f054f0709041409r6a2a2936w959e3b7efffa4c76@mail.gmail.com> Message-ID: On Sep 4, 2007, at 17:09, TRANS wrote: > On 9/4/07, Dan Janowski wrote: >> I did a little testing of << against my own application and found an >> incompatibility. >> >> << now copies a node/tree before adding it to another. I had code >> that added the node to a tree and then modified the node. This >> modified the original and not the copy in the parented tree. I don't >> see this as a problem, and the ruby code (in my app) seemed kinda >> dumb to do it that way. >> >> There may be a way to modify the behavior, and I wanted to know if it >> makes sense to do so: >> >> When a node/tree is parented and it is the top node (no other parent) >> and not part of a doc, then it can be installed in place without >> copying, and the original node is modified as it is now a child. If >> it is an intermediate node, then it is always copied. >> >> --or-- >> >> since this is variable behavior that may not be obvious, maybe we >> disallow (raise) << for nodes that are part of other trees? This may >> break even more things though. >> >> The copy feature when a node is a non-doc root, could be made >> optional. Either way the behavior changes. Should there be a warning? > > A bit more general of a question... If it's being copied how does one > maintain a reference too it? > This problem is a result of ruby's = and << operator, ruby forces the return to be the rhs input in the former and the lhs in the latter. I think the best way to handle it is to make the exact same function available as, say, node.add_child(a_node) => if (a_node.parent==nil?) ? a_node : copy (a_node) A regular function being able to have a useful return value. > So unless I'm missing something, your second choice makes more sense. > There should be a way to detach a node from it's tree, even after one > has referenced it, and copying a node of course makes the copy in a > detached state. > Yes, the copy clears the attachments and none of the existing ruby references to deeper in the tree carry forward either. In other words, the ruby reference to the top node of the copy is the only ruby tie at copy result. > Of course, I'm no expert on the internals of libxml, but from a > high-level perspective that seems the most intuitive approach to me. > > T. > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Wed Sep 5 12:05:57 2007 From: danj at 3skel.com (Dan Janowski) Date: Wed, 5 Sep 2007 12:05:57 -0400 Subject: [libxml-devel] MEM2 0.5.1 Dev Release Message-ID: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> libxml at rubyforge (http://rubyforge.org/projects/libxml/) A new packaged development release from the MEM2 branch (New Memory Model) is available: http://rubyforge.org/frs/?group_id=494&release_id=14239 Subversion tag available at (use svn checkout): http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 Release notes: http://rubyforge.org/frs/shownotes.php?release_id=14239 Notes: Fix child= to do implicit copy when rhs is not a root node. Changes: * ext/xml/ruby_xml_node.c: _child_set now performs implicit copy when adding a non-root node to another node, the return value is the new node. The return value is now the new node or the original if not copied. rb_warning when implicit copy done. added child_add to api so return value can be used after implicit copy. See ChangeLog for more details From transfire at gmail.com Wed Sep 5 12:41:40 2007 From: transfire at gmail.com (TRANS) Date: Wed, 5 Sep 2007 09:41:40 -0700 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: <8EDB3186-9B33-418A-80E4-3073A0447EE4@3skel.com> References: <4b6f054f0709021929l17920bdbu8efda6bfe7b2691a@mail.gmail.com> <8EDB3186-9B33-418A-80E4-3073A0447EE4@3skel.com> Message-ID: <4b6f054f0709050941w393b8507gb3900f32ebfa4a38@mail.gmail.com> On 9/4/07, Dan Janowski wrote: > Trans, > > The trunk had not been merged from MEM2 at all yet. It is still in > the 0.4pre state. If the MEM2 is deemed a better stable version then > I can merge back into the trunk. > > We should make a project coding decision about where development > happens. I prefer development in branches, the trunk always being the > last stable release. I'm all for development in branches, but I think trunk should be the current "testing" version. We need a central place various branches merge back to. And minor changes such a inline docs, typos and so forth don't require full branches. The last stable release will be in tags/, which should never be modified, as well as a maintenance branch where minor fixes and back ports can be made as needs be. At least that's my take. Other opinions? T. From cjbottaro at alumni.cs.utexas.edu Thu Sep 6 20:22:02 2007 From: cjbottaro at alumni.cs.utexas.edu (Christopher J. Bottaro) Date: Thu, 6 Sep 2007 19:22:02 -0500 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> Message-ID: On 9/5/07, Dan Janowski wrote: > libxml at rubyforge (http://rubyforge.org/projects/libxml/) > > A new packaged development release from the MEM2 branch (New Memory > Model) is available: > > http://rubyforge.org/frs/?group_id=494&release_id=14239 > > Subversion tag available at (use svn checkout): > > http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 > > Release notes: > http://rubyforge.org/frs/shownotes.php?release_id=14239 > > Notes: > Fix child= to do implicit copy when rhs is not a root node. > > > Changes: > * ext/xml/ruby_xml_node.c: _child_set now performs implicit > copy > when adding a non-root node to another node, the return > value is > the new node. The return value is now the new node or the > original if not copied. rb_warning when implicit copy > done. added > child_add to api so return value can be used after > implicit copy. > > See ChangeLog for more details > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > Hey, I'm kinda in a pickle. I recently convinced my work to move from our internally developed PHP web framework to Rails. Our application is very heavy on XML processing, including XSLT. I did a proof of concept before we made the decision to go 100% with Rails and during that proof of concept, I didn't run into a single problem with libxml-ruby. Now that our entire team is on board for the Rails port and a lot more code has been written, I'm seeing problems... and it's making my boss very nervous. He asked me to do an assessment on whether we should a) stick with libxml-ruby and hope that the bugs get ironed out (we have a 2 month deadline before a major release), switch to REXML, or go back to PHP (please god no). So I just have a few questions. a) Are the problems known? b) Are the solutions known? c) If the answer to the two above questions is yes, what is a realistic expectation for how long it will take to implement the solutions and bug test them? Mainly I'm interested in a and b. Are you guys stabbing in the dark? Or are the problems known and solutions developed and it's just a matter of development time? What can I do to help? Let me describe what is happening. If we run unit tests individually, they run fine, no errors, no crashes, they exit normally. But if we run them all at once via rake:test:units, then about 10-12% of them produce errors and usually the rake process ends in a crash... sometimes with a stack trace, but most of the time with a "[bug] segfault" message. Are those stack traces useful to you? I don't really know what to do short of just sending you all our source code (how can you make sense of the trace without seeing what we're trying to do?), but I doubt my company would appreciate that... ;) Btw, these symptoms occur regardless of using 0.3.8.4 or 0.5.1. Thank you for the help, -- Christopher From transfire at gmail.com Thu Sep 6 21:20:48 2007 From: transfire at gmail.com (TRANS) Date: Thu, 6 Sep 2007 18:20:48 -0700 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> Message-ID: <4b6f054f0709061820k4f04199jf93dcd612d1f64af@mail.gmail.com> On 9/5/07, Dan Janowski wrote: > libxml at rubyforge (http://rubyforge.org/projects/libxml/) > > A new packaged development release from the MEM2 branch (New Memory > Model) is available: > > http://rubyforge.org/frs/?group_id=494&release_id=14239 > > Subversion tag available at (use svn checkout): > > http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 > > Release notes: > http://rubyforge.org/frs/shownotes.php?release_id=14239 > > Notes: > Fix child= to do implicit copy when rhs is not a root node. I'm a tad hesitant about this change. Probably not at all significant, but I just wanted to at least note my sense, that maybe it's better just to raise an error, and force the programmer to be explicit. T. From danj at 3skel.com Thu Sep 6 21:58:38 2007 From: danj at 3skel.com (Dan Janowski) Date: Thu, 6 Sep 2007 21:58:38 -0400 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> Message-ID: <2641313F-FE1D-40A4-B24F-726036CCF484@3skel.com> Christopher, As far as I know, the problems are known and so (now) are the solutions. Anything prior to 0.5.1 has known bugs and anything prior to 0.5 (i.e. 0.3.x) has memory model flaws. As for the SEGV problems, and the release notes state this quite clearly, only Node, Document and Attr have been modified under the MEM2 branch. There are numerous other parts (Parser, Ns, etc) that still use the old model and may cause SEGV under duress (maybe even slight duress). The test failures you are seeing may originate from the unmodified parts, and it will likely be impossible to tell because the SEGV will happen inside the GC. Your situation is defined by the modules you use. If you are using unmodified components, then you have risk. The time table for reducing that risk is on the scale of weeks. As for your options, REXML is much slower, and PHP is not Ruby. You have come along at a good time, because most of us have been suffering with these memory problems for a long time. Dan On Sep 6, 2007, at 20:22, Christopher J. Bottaro wrote: > On 9/5/07, Dan Janowski wrote: >> libxml at rubyforge (http://rubyforge.org/projects/libxml/) >> >> A new packaged development release from the MEM2 branch (New Memory >> Model) is available: >> >> http://rubyforge.org/frs/?group_id=494&release_id=14239 >> >> Subversion tag available at (use svn checkout): >> >> http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 >> >> Release notes: >> http://rubyforge.org/frs/shownotes.php?release_id=14239 >> >> Notes: >> Fix child= to do implicit copy when rhs is not a root node. >> >> >> Changes: >> * ext/xml/ruby_xml_node.c: _child_set now performs implicit >> copy >> when adding a non-root node to another node, the return >> value is >> the new node. The return value is now the new node or the >> original if not copied. rb_warning when implicit copy >> done. added >> child_add to api so return value can be used after >> implicit copy. >> >> See ChangeLog for more details >> _______________________________________________ >> libxml-devel mailing list >> libxml-devel at rubyforge.org >> http://rubyforge.org/mailman/listinfo/libxml-devel >> > > Hey, > I'm kinda in a pickle. I recently convinced my work to move from our > internally developed PHP web framework to Rails. Our application is > very heavy on XML processing, including XSLT. I did a proof of > concept before we made the decision to go 100% with Rails and during > that proof of concept, I didn't run into a single problem with > libxml-ruby. > > Now that our entire team is on board for the Rails port and a lot more > code has been written, I'm seeing problems... and it's making my boss > very nervous. He asked me to do an assessment on whether we should a) > stick with libxml-ruby and hope that the bugs get ironed out (we have > a 2 month deadline before a major release), switch to REXML, or go > back to PHP (please god no). > > So I just have a few questions. > a) Are the problems known? > b) Are the solutions known? > c) If the answer to the two above questions is yes, what is a > realistic expectation for how long it will take to implement the > solutions and bug test them? > > Mainly I'm interested in a and b. Are you guys stabbing in the dark? > Or are the problems known and solutions developed and it's just a > matter of development time? > > What can I do to help? Let me describe what is happening. If we run > unit tests individually, they run fine, no errors, no crashes, they > exit normally. But if we run them all at once via rake:test:units, > then about 10-12% of them produce errors and usually the rake process > ends in a crash... sometimes with a stack trace, but most of the time > with a "[bug] segfault" message. > > Are those stack traces useful to you? I don't really know what to do > short of just sending you all our source code (how can you make sense > of the trace without seeing what we're trying to do?), but I doubt my > company would appreciate that... ;) > > Btw, these symptoms occur regardless of using 0.3.8.4 or 0.5.1. > > Thank you for the help, > -- Christopher > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Thu Sep 6 22:01:34 2007 From: danj at 3skel.com (Dan Janowski) Date: Thu, 6 Sep 2007 22:01:34 -0400 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: <4b6f054f0709061820k4f04199jf93dcd612d1f64af@mail.gmail.com> References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> <4b6f054f0709061820k4f04199jf93dcd612d1f64af@mail.gmail.com> Message-ID: On Sep 6, 2007, at 21:20, TRANS wrote: > On 9/5/07, Dan Janowski wrote: >> libxml at rubyforge (http://rubyforge.org/projects/libxml/) >> >> A new packaged development release from the MEM2 branch (New Memory >> Model) is available: >> >> http://rubyforge.org/frs/?group_id=494&release_id=14239 >> >> Subversion tag available at (use svn checkout): >> >> http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 >> >> Release notes: >> http://rubyforge.org/frs/shownotes.php?release_id=14239 >> >> Notes: >> Fix child= to do implicit copy when rhs is not a root node. > > I'm a tad hesitant about this change. Probably not at all significant, > but I just wanted to at least note my sense, that maybe it's better > just to raise an error, and force the programmer to be explicit. > It is a good point, one that I considered. But it is not really an error in the large sense. However, it may silently break code (by not raising) which is definitely worse that explicitly breaking it. Unless there is an opinion to the contrary, I will replace the warning with a raise, but only when using << or child= and not when doing child_add. Dan From transfire at gmail.com Thu Sep 6 22:31:12 2007 From: transfire at gmail.com (TRANS) Date: Thu, 6 Sep 2007 19:31:12 -0700 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> <4b6f054f0709061820k4f04199jf93dcd612d1f64af@mail.gmail.com> Message-ID: <4b6f054f0709061931v536e48b9m46b0ffa7a3ea876b@mail.gmail.com> On 9/6/07, Dan Janowski wrote: > It is a good point, one that I considered. But it is not really an > error in the large sense. However, it may silently break code (by not > raising) which is definitely worse that explicitly breaking it. > > Unless there is an opinion to the contrary, I will replace the > warning with a raise, but only when using << or child= and not when > doing child_add. Sounds like a good compromise. I think we tend to expect more explict behavior from operators, and conversely more flexability from other methods. T. From transfire at gmail.com Fri Sep 7 08:26:31 2007 From: transfire at gmail.com (TRANS) Date: Fri, 7 Sep 2007 05:26:31 -0700 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> Message-ID: <4b6f054f0709070526p1c335200gb581f90d01d1e82a@mail.gmail.com> On 9/6/07, Christopher J. Bottaro wrote: > On 9/5/07, Dan Janowski wrote: > > libxml at rubyforge (http://rubyforge.org/projects/libxml/) > > > > A new packaged development release from the MEM2 branch (New Memory > > Model) is available: > > > > http://rubyforge.org/frs/?group_id=494&release_id=14239 > > > > Subversion tag available at (use svn checkout): > > > > http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 > > > > Release notes: > > http://rubyforge.org/frs/shownotes.php?release_id=14239 > > > > Notes: > > Fix child= to do implicit copy when rhs is not a root node. > > > > > > Changes: > > * ext/xml/ruby_xml_node.c: _child_set now performs implicit > > copy > > when adding a non-root node to another node, the return > > value is > > the new node. The return value is now the new node or the > > original if not copied. rb_warning when implicit copy > > done. added > > child_add to api so return value can be used after > > implicit copy. > > > > See ChangeLog for more details > > _______________________________________________ > > libxml-devel mailing list > > libxml-devel at rubyforge.org > > http://rubyforge.org/mailman/listinfo/libxml-devel > > > > Hey, > I'm kinda in a pickle. I recently convinced my work to move from our > internally developed PHP web framework to Rails. Our application is > very heavy on XML processing, including XSLT. I did a proof of > concept before we made the decision to go 100% with Rails and during > that proof of concept, I didn't run into a single problem with > libxml-ruby. > > Now that our entire team is on board for the Rails port and a lot more > code has been written, I'm seeing problems... and it's making my boss > very nervous. He asked me to do an assessment on whether we should a) > stick with libxml-ruby and hope that the bugs get ironed out (we have > a 2 month deadline before a major release), switch to REXML, or go > back to PHP (please god no). > > So I just have a few questions. > a) Are the problems known? > b) Are the solutions known? > c) If the answer to the two above questions is yes, what is a > realistic expectation for how long it will take to implement the > solutions and bug test them? > > Mainly I'm interested in a and b. Are you guys stabbing in the dark? > Or are the problems known and solutions developed and it's just a > matter of development time? > > What can I do to help? Let me describe what is happening. If we run > unit tests individually, they run fine, no errors, no crashes, they > exit normally. But if we run them all at once via rake:test:units, > then about 10-12% of them produce errors and usually the rake process > ends in a crash... sometimes with a stack trace, but most of the time > with a "[bug] segfault" message. > > Are those stack traces useful to you? I don't really know what to do > short of just sending you all our source code (how can you make sense > of the trace without seeing what we're trying to do?), but I doubt my > company would appreciate that... ;) > > Btw, these symptoms occur regardless of using 0.3.8.4 or 0.5.1. > > Thank you for the help, Christopher, One approach is to to use some intermediate code as an adapter to REXML -or- libxml-ruby. That's what I did for my CherryXML/rquery library --it can use either as a back-end. I'm not sure about your speed requirements, but at lest this will give you a working solution until libxml-ruby is upto par and then with a simple flick of switch you can move over to libxml-ruby. I'm not sure what you can do about libxslt until that's ready though. Also, if I may suggest, since your doing this commercially and apparently in dire need, can your company offer any monetary incentives? Perhaps Dan would be willing to do some contract work to get libxml and libxslt up to snuff for your companies needs? T. From cjbottaro at alumni.cs.utexas.edu Fri Sep 7 12:29:28 2007 From: cjbottaro at alumni.cs.utexas.edu (Christopher J. Bottaro) Date: Fri, 7 Sep 2007 11:29:28 -0500 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: <4b6f054f0709070526p1c335200gb581f90d01d1e82a@mail.gmail.com> References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> <4b6f054f0709070526p1c335200gb581f90d01d1e82a@mail.gmail.com> Message-ID: TRANS, Is your CherryXML publicly available for use? :) I pitched the idea of compensating Dan for his efforts and my boss said maybe. Dunno though, they are pretty tight around here. -- C On 9/7/07, TRANS wrote: > On 9/6/07, Christopher J. Bottaro wrote: > > On 9/5/07, Dan Janowski wrote: > > > libxml at rubyforge (http://rubyforge.org/projects/libxml/) > > > > > > A new packaged development release from the MEM2 branch (New Memory > > > Model) is available: > > > > > > http://rubyforge.org/frs/?group_id=494&release_id=14239 > > > > > > Subversion tag available at (use svn checkout): > > > > > > http://libxml.rubyforge.org/svn/tags/MEM2-0_5_1 > > > > > > Release notes: > > > http://rubyforge.org/frs/shownotes.php?release_id=14239 > > > > > > Notes: > > > Fix child= to do implicit copy when rhs is not a root node. > > > > > > > > > Changes: > > > * ext/xml/ruby_xml_node.c: _child_set now performs implicit > > > copy > > > when adding a non-root node to another node, the return > > > value is > > > the new node. The return value is now the new node or the > > > original if not copied. rb_warning when implicit copy > > > done. added > > > child_add to api so return value can be used after > > > implicit copy. > > > > > > See ChangeLog for more details > > > _______________________________________________ > > > libxml-devel mailing list > > > libxml-devel at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/libxml-devel > > > > > > > Hey, > > I'm kinda in a pickle. I recently convinced my work to move from our > > internally developed PHP web framework to Rails. Our application is > > very heavy on XML processing, including XSLT. I did a proof of > > concept before we made the decision to go 100% with Rails and during > > that proof of concept, I didn't run into a single problem with > > libxml-ruby. > > > > Now that our entire team is on board for the Rails port and a lot more > > code has been written, I'm seeing problems... and it's making my boss > > very nervous. He asked me to do an assessment on whether we should a) > > stick with libxml-ruby and hope that the bugs get ironed out (we have > > a 2 month deadline before a major release), switch to REXML, or go > > back to PHP (please god no). > > > > So I just have a few questions. > > a) Are the problems known? > > b) Are the solutions known? > > c) If the answer to the two above questions is yes, what is a > > realistic expectation for how long it will take to implement the > > solutions and bug test them? > > > > Mainly I'm interested in a and b. Are you guys stabbing in the dark? > > Or are the problems known and solutions developed and it's just a > > matter of development time? > > > > What can I do to help? Let me describe what is happening. If we run > > unit tests individually, they run fine, no errors, no crashes, they > > exit normally. But if we run them all at once via rake:test:units, > > then about 10-12% of them produce errors and usually the rake process > > ends in a crash... sometimes with a stack trace, but most of the time > > with a "[bug] segfault" message. > > > > Are those stack traces useful to you? I don't really know what to do > > short of just sending you all our source code (how can you make sense > > of the trace without seeing what we're trying to do?), but I doubt my > > company would appreciate that... ;) > > > > Btw, these symptoms occur regardless of using 0.3.8.4 or 0.5.1. > > > > Thank you for the help, > > Christopher, > > One approach is to to use some intermediate code as an adapter to > REXML -or- libxml-ruby. That's what I did for my CherryXML/rquery > library --it can use either as a back-end. I'm not sure about your > speed requirements, but at lest this will give you a working solution > until libxml-ruby is upto par and then with a simple flick of switch > you can move over to libxml-ruby. > > I'm not sure what you can do about libxslt until that's ready though. > > Also, if I may suggest, since your doing this commercially and > apparently in dire need, can your company offer any monetary > incentives? Perhaps Dan would be willing to do some contract work to > get libxml and libxslt up to snuff for your companies needs? > > T. > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > From transfire at gmail.com Fri Sep 7 15:33:14 2007 From: transfire at gmail.com (TRANS) Date: Fri, 7 Sep 2007 12:33:14 -0700 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> <4b6f054f0709070526p1c335200gb581f90d01d1e82a@mail.gmail.com> Message-ID: <4b6f054f0709071233k4b566557vb1aac5387751b6ca@mail.gmail.com> On 9/7/07, Christopher J. Bottaro wrote: > TRANS, > Is your CherryXML publicly available for use? :) Yes, but it's still a little rough around the edges, and it's been on the back burner until Facets 2.0 is out and about. Also, I'm not sure if it's what you need. Basically it's like Hpricot for XML. So it's a very convenient way of doing XPath access. Is that what you're after? Or are you after a streaming lib? > I pitched the idea of compensating Dan for his efforts and my boss > said maybe. Dunno though, they are pretty tight around here. Oh... okay, well Dan is obviously reading this, but be sure to ask him directly too. It was just a suggestion on my part, I have no idea if he's actually willing or has the time. T. From danj at 3skel.com Fri Sep 7 15:51:03 2007 From: danj at 3skel.com (Dan Janowski) Date: Fri, 7 Sep 2007 15:51:03 -0400 Subject: [libxml-devel] MEM2 0.5.1 Dev Release In-Reply-To: <4b6f054f0709071233k4b566557vb1aac5387751b6ca@mail.gmail.com> References: <76501E5F-7255-4861-81A8-0181C9219FAD@3skel.com> <4b6f054f0709070526p1c335200gb581f90d01d1e82a@mail.gmail.com> <4b6f054f0709071233k4b566557vb1aac5387751b6ca@mail.gmail.com> Message-ID: <1D327B1C-277D-46E7-BDCC-6E34940740DE@3skel.com> On Sep 7, 2007, at 15:33, TRANS wrote: > >> I pitched the idea of compensating Dan for his efforts and my boss >> said maybe. Dunno though, they are pretty tight around here. > > Oh... okay, well Dan is obviously reading this, but be sure to ask him > directly too. It was just a suggestion on my part, I have no idea if > he's actually willing or has the time. Funding accelerates coding and includes my charming, personalized support. Thanks for thinking of me ;-) Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/libxml-devel/attachments/20070907/2cd93740/attachment.html From marc at bloodnok.com Tue Sep 11 19:32:54 2007 From: marc at bloodnok.com (Marc Munro) Date: Tue, 11 Sep 2007 16:32:54 -0700 Subject: [libxml-devel] MEM2 development release (0.5.0) In-Reply-To: <7B38C6D4-F10A-4688-86C4-A2701733DC21@3skel.com> References: <1188512900.16688.9.camel@bloodnok.com> <7B38C6D4-F10A-4688-86C4-A2701733DC21@3skel.com> Message-ID: <1189553574.31543.9.camel@bloodnok.com> Dan, Finally I got around to trying my unit tests with gdb and libxml-ruby-0.5.1.0 Here is the gdb output: (gdb) run tests/generate.rb Starting program: /usr/bin/ruby tests/generate.rb (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1210980160 (LWP 5975)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Loaded suite tests/generate Started Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1210980160 (LWP 5975)] 0xb7f67d03 in st_lookup () from /usr/lib/libruby1.8.so.1.8 (gdb) where #0 0xb7f67d03 in st_lookup () from /usr/lib/libruby1.8.so.1.8 #1 0xb7efd71c in rb_thread_local_aref () from /usr/lib/libruby1.8.so.1.8 #2 0xb7efd77d in rb_thread_local_aref () from /usr/lib/libruby1.8.so.1.8 #3 0xb7f058c3 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #4 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #5 0xb7f0be22 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #6 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #7 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #8 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #9 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #10 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #11 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #12 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #13 0xb7f0d39e in rb_apply () from /usr/lib/libruby1.8.so.1.8 #14 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #15 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #16 0xb7c89fdf in ruby_xml_node_set_each () from /usr/lib/ruby/1.8/xml/libxml_so.so #17 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #18 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #19 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #20 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #21 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #22 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #23 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #24 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 #25 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #26 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #27 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #28 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #29 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #30 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #31 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #32 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #33 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #34 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #35 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #36 0xb7f05c07 in rb_obj_call_init () from /usr/lib/libruby1.8.so.1.8 #37 0xb7f3357a in rb_class_new_instance () from /usr/lib/libruby1.8.so.1.8 #38 0xb7efd168 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #39 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #40 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #41 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #42 0xb7f0be22 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #43 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #44 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #45 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #46 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #47 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #48 0xb7f0cbc2 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #49 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #50 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 ---Type to continue, or q to quit--- #51 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #52 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #53 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #54 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #55 0xb7f0d39e in rb_apply () from /usr/lib/libruby1.8.so.1.8 #56 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #57 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #58 0xb7c89fdf in ruby_xml_node_set_each () from /usr/lib/ruby/1.8/xml/libxml_so.so #59 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #60 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #61 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #62 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #63 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #64 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #65 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #66 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 #67 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #68 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #69 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #70 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #71 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #72 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #73 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #74 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #75 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #76 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #77 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #78 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #79 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #80 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #81 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #82 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #83 0xb7f0d34f in rb_apply () from /usr/lib/libruby1.8.so.1.8 #84 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #85 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #86 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #87 0xb7f0be22 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #88 0xb7f0da01 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #89 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #90 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #91 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #92 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #93 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #94 0xb7f0cbc2 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #95 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #96 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #97 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #98 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #99 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #100 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #101 0xb7f0d39e in rb_apply () from /usr/lib/libruby1.8.so.1.8 ---Type to continue, or q to quit--- #102 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #103 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #104 0xb7c89fdf in ruby_xml_node_set_each () from /usr/lib/ruby/1.8/xml/libxml_so.so #105 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #106 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #107 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #108 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #109 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #110 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #111 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #112 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 #113 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #114 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #115 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #116 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #117 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #118 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #119 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #120 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #121 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #122 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #123 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #124 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #125 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #126 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #127 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #128 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #129 0xb7f0d57d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #130 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #131 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #132 0xb7f0d336 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #133 0xb7f0cbc2 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #134 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #135 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #136 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #137 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #138 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #139 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #140 0xb7f0d39e in rb_apply () from /usr/lib/libruby1.8.so.1.8 #141 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #142 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #143 0xb7c89fdf in ruby_xml_node_set_each () from /usr/lib/ruby/1.8/xml/libxml_so.so #144 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #145 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #146 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #147 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #148 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #149 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #150 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #151 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 ---Type to continue, or q to quit--- #152 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #153 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #154 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #155 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #156 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #157 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #158 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #159 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #160 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #161 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #162 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #163 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #164 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #165 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #166 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #167 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #168 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #169 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #170 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #171 0xb7f0cbc2 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #172 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #173 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #174 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #175 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #176 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #177 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #178 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #179 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #180 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #181 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #182 0xb7f0be22 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #183 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #184 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #185 0xb7f0b22b in Init_Thread () from /usr/lib/libruby1.8.so.1.8 #186 0xb7efd168 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #187 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #188 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #189 0xb7f0d725 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #190 0xb7f0e0de in rb_apply () from /usr/lib/libruby1.8.so.1.8 #191 0xb7f0e443 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #192 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #193 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #194 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #195 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #196 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #197 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #198 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #199 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 #200 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #201 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #202 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #203 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 ---Type to continue, or q to quit--- #204 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #205 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #206 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #207 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #208 0xb7f0f18d in rb_apply () from /usr/lib/libruby1.8.so.1.8 #209 0xb7f0c9f4 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #210 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #211 0xb7f116e1 in rb_yield () from /usr/lib/libruby1.8.so.1.8 #212 0xb7eea171 in rb_ary_each () from /usr/lib/libruby1.8.so.1.8 #213 0xb7efd155 in rb_provide () from /usr/lib/libruby1.8.so.1.8 #214 0xb7f04c44 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #215 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #216 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #217 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #218 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #219 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #220 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #221 0xb7f0ea3a in rb_apply () from /usr/lib/libruby1.8.so.1.8 #222 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #223 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #224 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #225 0xb7f0d34f in rb_apply () from /usr/lib/libruby1.8.so.1.8 #226 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #227 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #228 0xb7f0d336 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #229 0xb7f0d34f in rb_apply () from /usr/lib/libruby1.8.so.1.8 #230 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #231 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #232 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #233 0xb7f0d34f in rb_apply () from /usr/lib/libruby1.8.so.1.8 #234 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #235 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #236 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #237 0xb7f0d510 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #238 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #239 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #240 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #241 0xb7f054c7 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #242 0xb7f05908 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8 #243 0xb7f0d5ff in rb_apply () from /usr/lib/libruby1.8.so.1.8 #244 0xb7f0d6a3 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #245 0xb7f102a6 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #246 0xb7f10e8f in rb_apply () from /usr/lib/libruby1.8.so.1.8 #247 0xb7f11036 in rb_apply () from /usr/lib/libruby1.8.so.1.8 #248 0xb7f07c3f in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8 #249 0xb7f07da7 in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8 #250 0xb7f081ce in ruby_cleanup () from /usr/lib/libruby1.8.so.1.8 #251 0xb7f0839d in ruby_stop () from /usr/lib/libruby1.8.so.1.8 #252 0xb7f13181 in ruby_run () from /usr/lib/libruby1.8.so.1.8 #253 0x080486bd in main () (gdb) I get very similar stack traces from 3 out of 4 of my unit test runs. The other appears to work. They all appear to run fine on the standard version of the library. I will try to build a small reproducible test case but it may take a while. __ Marc On Thu, 2007-30-08 at 20:13 -0400, Dan Janowski wrote: > Marc, > > No surprise here! Hopefully your app is using features outside of > what I have touched. Hope is easy to have without facts, however. > Since SEGV usually leaves core stacks in ruins, try running this from > gdb and report back where it is broken. It will be good if you edit > the ext/xml/Makefile and add '-g -ggdb' to CFLAGS (which should be > about line 40) and recompile before gdb. Please include the stack > trace (gdb: where). If it is somewhere in the GC, then maybe you can > isolate what feature use is causing it on the ruby side and reproduce > it in a smallish script. > > Thanks for trying! > > Dan -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://rubyforge.org/pipermail/libxml-devel/attachments/20070911/32f3132d/attachment-0001.bin From scollett at ischool.berkeley.edu Wed Sep 12 18:08:49 2007 From: scollett at ischool.berkeley.edu (Stephanie Collett) Date: Wed, 12 Sep 2007 15:08:49 -0700 Subject: [libxml-devel] Libxml and Libxslt memory issues Message-ID: <90b736200709121508gf035fbdhece5b6a3d8b4c918@mail.gmail.com> Hi All, I have been using libxml to consume xml web service responses for a few months and it has been great. Now I am looking at using the libxslt library to do some xslt transformations. However, I have been catching up on the list messages about the memory management issues with the current stable release of libxml. Does the libxslt project have the same memory issues? Or does the libxslt wrapper access the xml and xslt libraries differently? -Stephanie PS. Thanks for reviving libxml. The project has really progressed in the past couple of months. From jasonlee9 at gmail.com Wed Sep 12 18:49:34 2007 From: jasonlee9 at gmail.com (Jason Lee) Date: Wed, 12 Sep 2007 15:49:34 -0700 Subject: [libxml-devel] Install issue with 0.5.1.0 Message-ID: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> Hi all, I know this is a dev list, but I can't find anywhere else to try to track down a prob I'm having installing the 0.5.1 gem. This installs fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my CentOS 3.9 box (my production machine) I get the following error in the gem install: ruby_xml_reader.c: In function `ruby_xml_reader_new_file': ruby_xml_reader.c:62: warning: assignment makes pointer from integer without a cast ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': ruby_xml_reader.c:86: warning: assignment makes pointer from integer without a cast ruby_xml_reader.c: In function `ruby_xml_reader_new_data': ruby_xml_reader.c:115: warning: assignment makes pointer from integer without a cast ruby_xml_reader.c: In function `ruby_xml_reader_name': ruby_xml_reader.c:457: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_local_name': ruby_xml_reader.c:469: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_encoding': ruby_xml_reader.c:493: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': ruby_xml_reader.c:505: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': ruby_xml_reader.c:517: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_value': ruby_xml_reader.c:529: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_prefix': ruby_xml_reader.c:541: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': ruby_xml_reader.c:594: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': ruby_xml_reader.c:606: warning: comparison between pointer and integer ruby_xml_reader.c: In function `ruby_init_xml_reader': ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared (first use in this function) ruby_xml_reader.c:887: (Each undeclared identifier is reported only once ruby_xml_reader.c:887: for each function it appears in.) ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' undeclared (first use in this function) ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared (first use in this function) ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared (first use in this function) ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared (first use in this function) ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared (first use in this function) make: *** [ruby_xml_reader.o] Error 1 My prod box has libxml2 and libxml2-devel 2.5.10 installed. Looking in the gem dir, the xml dir exists but no libxml.rb or libxml_so files are there. If any other files or info are required, I can gladly send them. I'd love to get this running on my prod machine. Tia. - jason From sean at chittenden.org Wed Sep 12 19:12:09 2007 From: sean at chittenden.org (Sean Chittenden) Date: Wed, 12 Sep 2007 16:12:09 -0700 Subject: [libxml-devel] Libxml and Libxslt memory issues In-Reply-To: <90b736200709121508gf035fbdhece5b6a3d8b4c918@mail.gmail.com> References: <90b736200709121508gf035fbdhece5b6a3d8b4c918@mail.gmail.com> Message-ID: <7578B9B5-958A-4F98-BD40-A85EE3A133ED@chittenden.org> Nope! :) libxsl is a much simpler animal compared to libxml. -sc -- Sean Chittenden sean at chittenden.org On Sep 12, 2007, at 3:08 PM, Stephanie Collett wrote: > Hi All, > > I have been using libxml to consume xml web service responses for a > few months and it has been great. Now I am looking at using the > libxslt library to do some xslt transformations. However, I have been > catching up on the list messages about the memory management issues > with the current stable release of libxml. Does the libxslt project > have the same memory issues? Or does the libxslt wrapper access the > xml and xslt libraries differently? > > -Stephanie > > PS. Thanks for reviving libxml. The project has really progressed in > the past couple of months. > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Wed Sep 12 22:06:41 2007 From: danj at 3skel.com (Dan Janowski) Date: Wed, 12 Sep 2007 22:06:41 -0400 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> Message-ID: <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> This is either your compiler tools, or there is something drastically different with the libxml2-devel you have. Check the xmlreader.h from libxml2 and see if the enum xmlTextReaderMode is defined or changed from the stable libxml. Dan On Sep 12, 2007, at 18:49, Jason Lee wrote: > Hi all, > > I know this is a dev list, but I can't find anywhere else to try to > track down a prob I'm having installing the 0.5.1 gem. This installs > fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my CentOS > 3.9 box (my production machine) I get the following error in the gem > install: > > ruby_xml_reader.c: In function `ruby_xml_reader_new_file': > ruby_xml_reader.c:62: warning: assignment makes pointer from integer > without a cast > ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': > ruby_xml_reader.c:86: warning: assignment makes pointer from integer > without a cast > ruby_xml_reader.c: In function `ruby_xml_reader_new_data': > ruby_xml_reader.c:115: warning: assignment makes pointer from integer > without a cast > ruby_xml_reader.c: In function `ruby_xml_reader_name': > ruby_xml_reader.c:457: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_local_name': > ruby_xml_reader.c:469: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_encoding': > ruby_xml_reader.c:493: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': > ruby_xml_reader.c:505: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': > ruby_xml_reader.c:517: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_value': > ruby_xml_reader.c:529: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_prefix': > ruby_xml_reader.c:541: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': > ruby_xml_reader.c:594: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': > ruby_xml_reader.c:606: warning: comparison between pointer and integer > ruby_xml_reader.c: In function `ruby_init_xml_reader': > ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared (first > use in this function) > ruby_xml_reader.c:887: (Each undeclared identifier is reported only > once > ruby_xml_reader.c:887: for each function it appears in.) > ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' undeclared > (first use in this function) > ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared (first > use in this function) > ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared (first use > in this function) > ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared (first > use in this function) > ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared (first > use in this function) > make: *** [ruby_xml_reader.o] Error 1 > > My prod box has libxml2 and libxml2-devel 2.5.10 installed. > > Looking in the gem dir, the xml dir exists but no libxml.rb or > libxml_so files are there. If any other files or info are required, I > can gladly send them. I'd love to get this running on my prod machine. > Tia. > > - jason > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From charlie.caroff at gmail.com Wed Sep 12 22:26:42 2007 From: charlie.caroff at gmail.com (Charlie Caroff) Date: Wed, 12 Sep 2007 19:26:42 -0700 Subject: [libxml-devel] syntax error before "iconv_t" Message-ID: Hi, I am running FreeBSD 6.2, and am trying to install libxml 0.5.1 for Ruby. When I run gem install, here is the error I get: gcc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/local/include/libxml2 -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/local/include/libxml2 -c cbg.c In file included from /usr/local/include/libxml2/libxml/parser.h:796, from /usr/local/include/libxml2/libxml/globals.h:18, from /usr/local/include/libxml2/libxml/xmlIO.h:117, from cbg.c:2: /usr/local/include/libxml2/libxml/encoding.h:28:19: iconv.h: No such file or directory In file included from /usr/local/include/libxml2/libxml/parser.h:796, from /usr/local/include/libxml2/libxml/globals.h:18, from /usr/local/include/libxml2/libxml/xmlIO.h:117, from cbg.c:2: /usr/local/include/libxml2/libxml/encoding.h:136: error: syntax error before "iconv_t" *** Error code 1 Stop in /usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.5.1.0/ext/xml. Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/libxml- ruby-0.5.1.0 for inspection. Results logged to /usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.5.1.0 /ext/xml/gem_make.out Any hints? Charlie -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/libxml-devel/attachments/20070912/6a3bb10a/attachment.html From danj at 3skel.com Thu Sep 13 00:04:20 2007 From: danj at 3skel.com (Dan Janowski) Date: Thu, 13 Sep 2007 00:04:20 -0400 Subject: [libxml-devel] syntax error before "iconv_t" In-Reply-To: References: Message-ID: It appears you do not have iconv installed. Dan On Sep 12, 2007, at 22:26, Charlie Caroff wrote: > Hi, I am running FreeBSD 6.2, and am trying to install libxml 0.5.1 > for Ruby. When I run gem install, here is the error I get: > > gcc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/ > local/include/libxml2 -DRUBY_EXTCONF_H=\" extconf.h\" -fPIC -g -O2 - > I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/local/ > include/libxml2 -c cbg.c > In file included from /usr/local/include/libxml2/libxml/parser.h:796, > from /usr/local/include/libxml2/libxml/globals.h:18, > from /usr/local/include/libxml2/libxml/xmlIO.h:117, > from cbg.c:2: > /usr/local/include/libxml2/libxml/encoding.h:28:19: iconv.h: No > such file or directory > In file included from /usr/local/include/libxml2/libxml/parser.h:796, > from /usr/local/include/libxml2/libxml/globals.h:18, > from /usr/local/include/libxml2/libxml/xmlIO.h:117, > from cbg.c:2: > /usr/local/include/libxml2/libxml/encoding.h:136: error: syntax > error before "iconv_t" > *** Error code 1 > > Stop in /usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.5.1.0/ext/xml. > > > Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/ > gems/libxml-ruby-0.5.1.0 for inspection. > Results logged to /usr/local/lib/ruby/gems/1.8/gems/libxml- > ruby-0.5.1.0/ext/xml/gem_make.out > > > Any hints? > > Charlie > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From charlie.caroff at gmail.com Thu Sep 13 00:57:22 2007 From: charlie.caroff at gmail.com (Charlie Caroff) Date: Wed, 12 Sep 2007 21:57:22 -0700 Subject: [libxml-devel] syntax error before "iconv_t" In-Reply-To: References: Message-ID: Well, I do -- it's in /usr/local/bin/iconv Does libxml expect it in a different location? Charlie On 9/12/07, Dan Janowski wrote: > > It appears you do not have iconv installed. > > Dan > > > On Sep 12, 2007, at 22:26, Charlie Caroff wrote: > > > Hi, I am running FreeBSD 6.2, and am trying to install libxml 0.5.1 > > for Ruby. When I run gem install, here is the error I get: > > > > gcc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/ > > local/include/libxml2 -DRUBY_EXTCONF_H=\" extconf.h\" -fPIC -g -O2 - > > I. -I/usr/local/lib/ruby/1.8/i386-freebsd6.2 -I. -I/usr/local/ > > include/libxml2 -c cbg.c > > In file included from /usr/local/include/libxml2/libxml/parser.h:796, > > from /usr/local/include/libxml2/libxml/globals.h:18, > > from /usr/local/include/libxml2/libxml/xmlIO.h:117, > > from cbg.c:2: > > /usr/local/include/libxml2/libxml/encoding.h:28:19: iconv.h: No > > such file or directory > > In file included from /usr/local/include/libxml2/libxml/parser.h:796, > > from /usr/local/include/libxml2/libxml/globals.h:18, > > from /usr/local/include/libxml2/libxml/xmlIO.h:117, > > from cbg.c:2: > > /usr/local/include/libxml2/libxml/encoding.h:136: error: syntax > > error before "iconv_t" > > *** Error code 1 > > > > Stop in /usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.5.1.0/ext/xml. > > > > > > Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/ > > gems/libxml-ruby-0.5.1.0 for inspection. > > Results logged to /usr/local/lib/ruby/gems/1.8/gems/libxml- > > ruby-0.5.1.0/ext/xml/gem_make.out > > > > > > Any hints? > > > > Charlie > > _______________________________________________ > > libxml-devel mailing list > > libxml-devel at rubyforge.org > > http://rubyforge.org/mailman/listinfo/libxml-devel > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/libxml-devel/attachments/20070912/4fd0f825/attachment-0001.html From transfire at gmail.com Thu Sep 13 07:08:14 2007 From: transfire at gmail.com (TRANS) Date: Thu, 13 Sep 2007 04:08:14 -0700 Subject: [libxml-devel] syntax error before "iconv_t" In-Reply-To: References: Message-ID: <4b6f054f0709130408s37000e9ev4431c87884e45b4@mail.gmail.com> On 9/12/07, Charlie Caroff wrote: > Well, I do -- it's in /usr/local/bin/iconv > > Does libxml expect it in a different location? Do you have the headers installed? Where is iconv.h? I'm not familiar with BSD but for Debian, for example, one would have to make sure the corresponding dev package is installed. T. From jasonlee9 at gmail.com Thu Sep 13 19:31:21 2007 From: jasonlee9 at gmail.com (Jason Lee) Date: Thu, 13 Sep 2007 16:31:21 -0700 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> Message-ID: <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> xmlreader.h did not have that enum. This is the rpm info: Name : libxml2-devel Relocations: /usr Version : 2.5.10 Vendor: CentOS Release : 7 Build Date: Fri 12 Nov 2004 11:22:32 AM PST Install Date: Sat 08 Sep 2007 04:05:16 AM PDT Build Host: centos-build Group : Development/Libraries Source RPM: libxml2-2.5.10-7.src.rpm Size : 7005031 License: MIT Signature : DSA/SHA1, Fri 12 Nov 2004 11:27:27 AM PST, Key ID 7049e44d025e513b I'm assuming there is a baseline lbxm2-devel version, but I couldn't find it anywhere. thx, - jason On 9/12/07, Dan Janowski wrote: > This is either your compiler tools, or there is something drastically > different with the libxml2-devel you have. Check the xmlreader.h from > libxml2 and see if the enum xmlTextReaderMode is defined or changed > from the stable libxml. > > Dan > > On Sep 12, 2007, at 18:49, Jason Lee wrote: > > > Hi all, > > > > I know this is a dev list, but I can't find anywhere else to try to > > track down a prob I'm having installing the 0.5.1 gem. This installs > > fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my CentOS > > 3.9 box (my production machine) I get the following error in the gem > > install: > > > > ruby_xml_reader.c: In function `ruby_xml_reader_new_file': > > ruby_xml_reader.c:62: warning: assignment makes pointer from integer > > without a cast > > ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': > > ruby_xml_reader.c:86: warning: assignment makes pointer from integer > > without a cast > > ruby_xml_reader.c: In function `ruby_xml_reader_new_data': > > ruby_xml_reader.c:115: warning: assignment makes pointer from integer > > without a cast > > ruby_xml_reader.c: In function `ruby_xml_reader_name': > > ruby_xml_reader.c:457: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_local_name': > > ruby_xml_reader.c:469: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_encoding': > > ruby_xml_reader.c:493: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': > > ruby_xml_reader.c:505: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': > > ruby_xml_reader.c:517: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_value': > > ruby_xml_reader.c:529: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_prefix': > > ruby_xml_reader.c:541: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': > > ruby_xml_reader.c:594: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': > > ruby_xml_reader.c:606: warning: comparison between pointer and integer > > ruby_xml_reader.c: In function `ruby_init_xml_reader': > > ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared (first > > use in this function) > > ruby_xml_reader.c:887: (Each undeclared identifier is reported only > > once > > ruby_xml_reader.c:887: for each function it appears in.) > > ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' undeclared > > (first use in this function) > > ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared (first > > use in this function) > > ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared (first use > > in this function) > > ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared (first > > use in this function) > > ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared (first > > use in this function) > > make: *** [ruby_xml_reader.o] Error 1 > > > > My prod box has libxml2 and libxml2-devel 2.5.10 installed. > > > > Looking in the gem dir, the xml dir exists but no libxml.rb or > > libxml_so files are there. If any other files or info are required, I > > can gladly send them. I'd love to get this running on my prod machine. > > Tia. > > > > - jason > > _______________________________________________ > > libxml-devel mailing list > > libxml-devel at rubyforge.org > > http://rubyforge.org/mailman/listinfo/libxml-devel > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > From danj at 3skel.com Thu Sep 13 20:28:02 2007 From: danj at 3skel.com (Dan Janowski) Date: Thu, 13 Sep 2007 20:28:02 -0400 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> Message-ID: <1AE90CE1-E187-458D-9253-D8BBA91256CC@3skel.com> Your libxml2 is 3 years old and a minor rev back. Chances are it is just too old. You have 2.5.10, libxml2 is at 2.6.30 as of august. Try a build with a current release of libxml2. Dan On Sep 13, 2007, at 19:31, Jason Lee wrote: > xmlreader.h did not have that enum. This is the rpm info: > > Name : libxml2-devel Relocations: /usr > Version : 2.5.10 Vendor: CentOS > Release : 7 Build Date: Fri 12 Nov > 2004 11:22:32 AM PST > Install Date: Sat 08 Sep 2007 04:05:16 AM PDT Build Host: > centos-build > Group : Development/Libraries Source RPM: > libxml2-2.5.10-7.src.rpm > Size : 7005031 License: MIT > Signature : DSA/SHA1, Fri 12 Nov 2004 11:27:27 AM PST, Key ID > 7049e44d025e513b > > I'm assuming there is a baseline lbxm2-devel version, but I couldn't > find it anywhere. > > thx, > - jason > > On 9/12/07, Dan Janowski wrote: >> This is either your compiler tools, or there is something drastically >> different with the libxml2-devel you have. Check the xmlreader.h from >> libxml2 and see if the enum xmlTextReaderMode is defined or changed >> from the stable libxml. >> >> Dan >> >> On Sep 12, 2007, at 18:49, Jason Lee wrote: >> >>> Hi all, >>> >>> I know this is a dev list, but I can't find anywhere else to try to >>> track down a prob I'm having installing the 0.5.1 gem. This installs >>> fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my >>> CentOS >>> 3.9 box (my production machine) I get the following error in the gem >>> install: >>> >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_file': >>> ruby_xml_reader.c:62: warning: assignment makes pointer from integer >>> without a cast >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': >>> ruby_xml_reader.c:86: warning: assignment makes pointer from integer >>> without a cast >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_data': >>> ruby_xml_reader.c:115: warning: assignment makes pointer from >>> integer >>> without a cast >>> ruby_xml_reader.c: In function `ruby_xml_reader_name': >>> ruby_xml_reader.c:457: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_local_name': >>> ruby_xml_reader.c:469: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_encoding': >>> ruby_xml_reader.c:493: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': >>> ruby_xml_reader.c:505: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': >>> ruby_xml_reader.c:517: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_value': >>> ruby_xml_reader.c:529: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_prefix': >>> ruby_xml_reader.c:541: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': >>> ruby_xml_reader.c:594: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': >>> ruby_xml_reader.c:606: warning: comparison between pointer and >>> integer >>> ruby_xml_reader.c: In function `ruby_init_xml_reader': >>> ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared >>> (first >>> use in this function) >>> ruby_xml_reader.c:887: (Each undeclared identifier is reported only >>> once >>> ruby_xml_reader.c:887: for each function it appears in.) >>> ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' undeclared >>> (first use in this function) >>> ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared (first >>> use in this function) >>> ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared >>> (first use >>> in this function) >>> ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared >>> (first >>> use in this function) >>> ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared >>> (first >>> use in this function) >>> make: *** [ruby_xml_reader.o] Error 1 >>> >>> My prod box has libxml2 and libxml2-devel 2.5.10 installed. >>> >>> Looking in the gem dir, the xml dir exists but no libxml.rb or >>> libxml_so files are there. If any other files or info are >>> required, I >>> can gladly send them. I'd love to get this running on my prod >>> machine. >>> Tia. >>> >>> - jason >>> _______________________________________________ >>> libxml-devel mailing list >>> libxml-devel at rubyforge.org >>> http://rubyforge.org/mailman/listinfo/libxml-devel >> >> _______________________________________________ >> libxml-devel mailing list >> libxml-devel at rubyforge.org >> http://rubyforge.org/mailman/listinfo/libxml-devel >> > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From jasonlee9 at gmail.com Thu Sep 13 21:17:51 2007 From: jasonlee9 at gmail.com (Jason Lee) Date: Thu, 13 Sep 2007 18:17:51 -0700 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <1AE90CE1-E187-458D-9253-D8BBA91256CC@3skel.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> <1AE90CE1-E187-458D-9253-D8BBA91256CC@3skel.com> Message-ID: <972417190709131817m75689d82x930a7df545888f41@mail.gmail.com> Dan, thanks for the time. My client is not willing to upgrade any of their libs on the machine I'm deploying to, so unfortunately, this is dead in the water for me. I will however keep this in mind for future projects. Thanks again, - jason On 9/13/07, Dan Janowski wrote: > Your libxml2 is 3 years old and a minor rev back. Chances are it is > just too old. You have 2.5.10, libxml2 is at 2.6.30 as of august. Try > a build with a current release of libxml2. > > Dan > > On Sep 13, 2007, at 19:31, Jason Lee wrote: > > > xmlreader.h did not have that enum. This is the rpm info: > > > > Name : libxml2-devel Relocations: /usr > > Version : 2.5.10 Vendor: CentOS > > Release : 7 Build Date: Fri 12 Nov > > 2004 11:22:32 AM PST > > Install Date: Sat 08 Sep 2007 04:05:16 AM PDT Build Host: > > centos-build > > Group : Development/Libraries Source RPM: > > libxml2-2.5.10-7.src.rpm > > Size : 7005031 License: MIT > > Signature : DSA/SHA1, Fri 12 Nov 2004 11:27:27 AM PST, Key ID > > 7049e44d025e513b > > > > I'm assuming there is a baseline lbxm2-devel version, but I couldn't > > find it anywhere. > > > > thx, > > - jason > > > > On 9/12/07, Dan Janowski wrote: > >> This is either your compiler tools, or there is something drastically > >> different with the libxml2-devel you have. Check the xmlreader.h from > >> libxml2 and see if the enum xmlTextReaderMode is defined or changed > >> from the stable libxml. > >> > >> Dan > >> > >> On Sep 12, 2007, at 18:49, Jason Lee wrote: > >> > >>> Hi all, > >>> > >>> I know this is a dev list, but I can't find anywhere else to try to > >>> track down a prob I'm having installing the 0.5.1 gem. This installs > >>> fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my > >>> CentOS > >>> 3.9 box (my production machine) I get the following error in the gem > >>> install: > >>> > >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_file': > >>> ruby_xml_reader.c:62: warning: assignment makes pointer from integer > >>> without a cast > >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': > >>> ruby_xml_reader.c:86: warning: assignment makes pointer from integer > >>> without a cast > >>> ruby_xml_reader.c: In function `ruby_xml_reader_new_data': > >>> ruby_xml_reader.c:115: warning: assignment makes pointer from > >>> integer > >>> without a cast > >>> ruby_xml_reader.c: In function `ruby_xml_reader_name': > >>> ruby_xml_reader.c:457: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_local_name': > >>> ruby_xml_reader.c:469: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_encoding': > >>> ruby_xml_reader.c:493: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': > >>> ruby_xml_reader.c:505: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': > >>> ruby_xml_reader.c:517: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_value': > >>> ruby_xml_reader.c:529: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_prefix': > >>> ruby_xml_reader.c:541: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': > >>> ruby_xml_reader.c:594: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': > >>> ruby_xml_reader.c:606: warning: comparison between pointer and > >>> integer > >>> ruby_xml_reader.c: In function `ruby_init_xml_reader': > >>> ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared > >>> (first > >>> use in this function) > >>> ruby_xml_reader.c:887: (Each undeclared identifier is reported only > >>> once > >>> ruby_xml_reader.c:887: for each function it appears in.) > >>> ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' undeclared > >>> (first use in this function) > >>> ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared (first > >>> use in this function) > >>> ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared > >>> (first use > >>> in this function) > >>> ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared > >>> (first > >>> use in this function) > >>> ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared > >>> (first > >>> use in this function) > >>> make: *** [ruby_xml_reader.o] Error 1 > >>> > >>> My prod box has libxml2 and libxml2-devel 2.5.10 installed. > >>> > >>> Looking in the gem dir, the xml dir exists but no libxml.rb or > >>> libxml_so files are there. If any other files or info are > >>> required, I > >>> can gladly send them. I'd love to get this running on my prod > >>> machine. > >>> Tia. > >>> > >>> - jason > >>> _______________________________________________ > >>> libxml-devel mailing list > >>> libxml-devel at rubyforge.org > >>> http://rubyforge.org/mailman/listinfo/libxml-devel > >> > >> _______________________________________________ > >> libxml-devel mailing list > >> libxml-devel at rubyforge.org > >> http://rubyforge.org/mailman/listinfo/libxml-devel > >> > > _______________________________________________ > > libxml-devel mailing list > > libxml-devel at rubyforge.org > > http://rubyforge.org/mailman/listinfo/libxml-devel > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > From danj at 3skel.com Fri Sep 14 00:07:53 2007 From: danj at 3skel.com (Dan Janowski) Date: Fri, 14 Sep 2007 00:07:53 -0400 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <972417190709131817m75689d82x930a7df545888f41@mail.gmail.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> <1AE90CE1-E187-458D-9253-D8BBA91256CC@3skel.com> <972417190709131817m75689d82x930a7df545888f41@mail.gmail.com> Message-ID: <714A99B5-322C-4963-8306-4765BBE414B8@3skel.com> You can build libxml on its own (i.e. from source with a --prefix to an out of the way directory) in another location and link to it. If you do not use a common location like /usr/local then nothing is going to find it by mistake. You'll just have to make sure the rake build finds it. Dan On Sep 13, 2007, at 21:17, Jason Lee wrote: > Dan, > > thanks for the time. My client is not willing to upgrade any of their > libs on the machine I'm deploying to, so unfortunately, this is dead > in the water for me. I will however keep this in mind for future > projects. > > Thanks again, > > - jason > > On 9/13/07, Dan Janowski wrote: >> Your libxml2 is 3 years old and a minor rev back. Chances are it is >> just too old. You have 2.5.10, libxml2 is at 2.6.30 as of august. Try >> a build with a current release of libxml2. >> >> Dan >> >> On Sep 13, 2007, at 19:31, Jason Lee wrote: >> >>> xmlreader.h did not have that enum. This is the rpm info: >>> >>> Name : libxml2-devel Relocations: /usr >>> Version : 2.5.10 Vendor: CentOS >>> Release : 7 Build Date: Fri 12 Nov >>> 2004 11:22:32 AM PST >>> Install Date: Sat 08 Sep 2007 04:05:16 AM PDT Build Host: >>> centos-build >>> Group : Development/Libraries Source RPM: >>> libxml2-2.5.10-7.src.rpm >>> Size : 7005031 License: MIT >>> Signature : DSA/SHA1, Fri 12 Nov 2004 11:27:27 AM PST, Key ID >>> 7049e44d025e513b >>> >>> I'm assuming there is a baseline lbxm2-devel version, but I couldn't >>> find it anywhere. >>> >>> thx, >>> - jason >>> >>> On 9/12/07, Dan Janowski wrote: >>>> This is either your compiler tools, or there is something >>>> drastically >>>> different with the libxml2-devel you have. Check the xmlreader.h >>>> from >>>> libxml2 and see if the enum xmlTextReaderMode is defined or changed >>>> from the stable libxml. >>>> >>>> Dan >>>> >>>> On Sep 12, 2007, at 18:49, Jason Lee wrote: >>>> >>>>> Hi all, >>>>> >>>>> I know this is a dev list, but I can't find anywhere else to >>>>> try to >>>>> track down a prob I'm having installing the 0.5.1 gem. This >>>>> installs >>>>> fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my >>>>> CentOS >>>>> 3.9 box (my production machine) I get the following error in >>>>> the gem >>>>> install: >>>>> >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_file': >>>>> ruby_xml_reader.c:62: warning: assignment makes pointer from >>>>> integer >>>>> without a cast >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': >>>>> ruby_xml_reader.c:86: warning: assignment makes pointer from >>>>> integer >>>>> without a cast >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_data': >>>>> ruby_xml_reader.c:115: warning: assignment makes pointer from >>>>> integer >>>>> without a cast >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_name': >>>>> ruby_xml_reader.c:457: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_local_name': >>>>> ruby_xml_reader.c:469: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_encoding': >>>>> ruby_xml_reader.c:493: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': >>>>> ruby_xml_reader.c:505: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': >>>>> ruby_xml_reader.c:517: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_value': >>>>> ruby_xml_reader.c:529: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_prefix': >>>>> ruby_xml_reader.c:541: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': >>>>> ruby_xml_reader.c:594: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': >>>>> ruby_xml_reader.c:606: warning: comparison between pointer and >>>>> integer >>>>> ruby_xml_reader.c: In function `ruby_init_xml_reader': >>>>> ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared >>>>> (first >>>>> use in this function) >>>>> ruby_xml_reader.c:887: (Each undeclared identifier is reported >>>>> only >>>>> once >>>>> ruby_xml_reader.c:887: for each function it appears in.) >>>>> ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' >>>>> undeclared >>>>> (first use in this function) >>>>> ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared >>>>> (first >>>>> use in this function) >>>>> ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared >>>>> (first use >>>>> in this function) >>>>> ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared >>>>> (first >>>>> use in this function) >>>>> ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared >>>>> (first >>>>> use in this function) >>>>> make: *** [ruby_xml_reader.o] Error 1 >>>>> >>>>> My prod box has libxml2 and libxml2-devel 2.5.10 installed. >>>>> >>>>> Looking in the gem dir, the xml dir exists but no libxml.rb or >>>>> libxml_so files are there. If any other files or info are >>>>> required, I >>>>> can gladly send them. I'd love to get this running on my prod >>>>> machine. >>>>> Tia. >>>>> >>>>> - jason >>>>> _______________________________________________ >>>>> libxml-devel mailing list >>>>> libxml-devel at rubyforge.org >>>>> http://rubyforge.org/mailman/listinfo/libxml-devel >>>> >>>> _______________________________________________ >>>> libxml-devel mailing list >>>> libxml-devel at rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/libxml-devel >>>> >>> _______________________________________________ >>> libxml-devel mailing list >>> libxml-devel at rubyforge.org >>> http://rubyforge.org/mailman/listinfo/libxml-devel >> >> _______________________________________________ >> libxml-devel mailing list >> libxml-devel at rubyforge.org >> http://rubyforge.org/mailman/listinfo/libxml-devel >> > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From transfire at gmail.com Fri Sep 14 07:15:27 2007 From: transfire at gmail.com (Trans) Date: Fri, 14 Sep 2007 11:15:27 -0000 Subject: [libxml-devel] Google Group Message-ID: <1189768527.271921.204990@y42g2000hsy.googlegroups.com> Hi-- Just wanted to let you all know that I set up a Google Group archive the libxml-devel mailing list. (I'm posting via it right now actually). I personally prefer to use this web interface to interact with mailing lists rather than a mail client. Perhaps some of you would too. You can access it here: http://groups.google.com/group/libxml-devel Yours, T. From jasonlee9 at gmail.com Fri Sep 14 12:20:10 2007 From: jasonlee9 at gmail.com (Jason Lee) Date: Fri, 14 Sep 2007 09:20:10 -0700 Subject: [libxml-devel] Install issue with 0.5.1.0 In-Reply-To: <714A99B5-322C-4963-8306-4765BBE414B8@3skel.com> References: <972417190709121549x1f25facam443e859caf0a7563@mail.gmail.com> <2993AB48-BD55-499E-BA69-A46C05DC85B3@3skel.com> <972417190709131631o414391fx9fe70da200dab73@mail.gmail.com> <1AE90CE1-E187-458D-9253-D8BBA91256CC@3skel.com> <972417190709131817m75689d82x930a7df545888f41@mail.gmail.com> <714A99B5-322C-4963-8306-4765BBE414B8@3skel.com> Message-ID: <972417190709140920s7313f576g1c2979d8b88b037c@mail.gmail.com> Yah that would prob actually work. Thx I'll give that a try. On 9/13/07, Dan Janowski wrote: > You can build libxml on its own (i.e. from source with a --prefix to > an out of the way directory) in another location and link to it. If > you do not use a common location like /usr/local then nothing is > going to find it by mistake. You'll just have to make sure the rake > build finds it. > > Dan > > On Sep 13, 2007, at 21:17, Jason Lee wrote: > > > Dan, > > > > thanks for the time. My client is not willing to upgrade any of their > > libs on the machine I'm deploying to, so unfortunately, this is dead > > in the water for me. I will however keep this in mind for future > > projects. > > > > Thanks again, > > > > - jason > > > > On 9/13/07, Dan Janowski wrote: > >> Your libxml2 is 3 years old and a minor rev back. Chances are it is > >> just too old. You have 2.5.10, libxml2 is at 2.6.30 as of august. Try > >> a build with a current release of libxml2. > >> > >> Dan > >> > >> On Sep 13, 2007, at 19:31, Jason Lee wrote: > >> > >>> xmlreader.h did not have that enum. This is the rpm info: > >>> > >>> Name : libxml2-devel Relocations: /usr > >>> Version : 2.5.10 Vendor: CentOS > >>> Release : 7 Build Date: Fri 12 Nov > >>> 2004 11:22:32 AM PST > >>> Install Date: Sat 08 Sep 2007 04:05:16 AM PDT Build Host: > >>> centos-build > >>> Group : Development/Libraries Source RPM: > >>> libxml2-2.5.10-7.src.rpm > >>> Size : 7005031 License: MIT > >>> Signature : DSA/SHA1, Fri 12 Nov 2004 11:27:27 AM PST, Key ID > >>> 7049e44d025e513b > >>> > >>> I'm assuming there is a baseline lbxm2-devel version, but I couldn't > >>> find it anywhere. > >>> > >>> thx, > >>> - jason > >>> > >>> On 9/12/07, Dan Janowski wrote: > >>>> This is either your compiler tools, or there is something > >>>> drastically > >>>> different with the libxml2-devel you have. Check the xmlreader.h > >>>> from > >>>> libxml2 and see if the enum xmlTextReaderMode is defined or changed > >>>> from the stable libxml. > >>>> > >>>> Dan > >>>> > >>>> On Sep 12, 2007, at 18:49, Jason Lee wrote: > >>>> > >>>>> Hi all, > >>>>> > >>>>> I know this is a dev list, but I can't find anywhere else to > >>>>> try to > >>>>> track down a prob I'm having installing the 0.5.1 gem. This > >>>>> installs > >>>>> fine on my dev machine (Macbook Core2 OS X 10.4.10), but on my > >>>>> CentOS > >>>>> 3.9 box (my production machine) I get the following error in > >>>>> the gem > >>>>> install: > >>>>> > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_file': > >>>>> ruby_xml_reader.c:62: warning: assignment makes pointer from > >>>>> integer > >>>>> without a cast > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_walker': > >>>>> ruby_xml_reader.c:86: warning: assignment makes pointer from > >>>>> integer > >>>>> without a cast > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_new_data': > >>>>> ruby_xml_reader.c:115: warning: assignment makes pointer from > >>>>> integer > >>>>> without a cast > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_name': > >>>>> ruby_xml_reader.c:457: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_local_name': > >>>>> ruby_xml_reader.c:469: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_encoding': > >>>>> ruby_xml_reader.c:493: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_base_uri': > >>>>> ruby_xml_reader.c:505: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_namespace_uri': > >>>>> ruby_xml_reader.c:517: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_value': > >>>>> ruby_xml_reader.c:529: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_prefix': > >>>>> ruby_xml_reader.c:541: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_lang': > >>>>> ruby_xml_reader.c:594: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_xml_reader_xml_version': > >>>>> ruby_xml_reader.c:606: warning: comparison between pointer and > >>>>> integer > >>>>> ruby_xml_reader.c: In function `ruby_init_xml_reader': > >>>>> ruby_xml_reader.c:887: `XML_TEXTREADER_MODE_INITIAL' undeclared > >>>>> (first > >>>>> use in this function) > >>>>> ruby_xml_reader.c:887: (Each undeclared identifier is reported > >>>>> only > >>>>> once > >>>>> ruby_xml_reader.c:887: for each function it appears in.) > >>>>> ruby_xml_reader.c:888: `XML_TEXTREADER_MODE_INTERACTIVE' > >>>>> undeclared > >>>>> (first use in this function) > >>>>> ruby_xml_reader.c:889: `XML_TEXTREADER_MODE_ERROR' undeclared > >>>>> (first > >>>>> use in this function) > >>>>> ruby_xml_reader.c:890: `XML_TEXTREADER_MODE_EOF' undeclared > >>>>> (first use > >>>>> in this function) > >>>>> ruby_xml_reader.c:891: `XML_TEXTREADER_MODE_CLOSED' undeclared > >>>>> (first > >>>>> use in this function) > >>>>> ruby_xml_reader.c:892: `XML_TEXTREADER_MODE_READING' undeclared > >>>>> (first > >>>>> use in this function) > >>>>> make: *** [ruby_xml_reader.o] Error 1 > >>>>> > >>>>> My prod box has libxml2 and libxml2-devel 2.5.10 installed. > >>>>> > >>>>> Looking in the gem dir, the xml dir exists but no libxml.rb or > >>>>> libxml_so files are there. If any other files or info are > >>>>> required, I > >>>>> can gladly send them. I'd love to get this running on my prod > >>>>> machine. > >>>>> Tia. > >>>>> > >>>>> - jason > >>>>> _______________________________________________ > >>>>> libxml-devel mailing list > >>>>> libxml-devel at rubyforge.org > >>>>> http://rubyforge.org/mailman/listinfo/libxml-devel > >>>> > >>>> _______________________________________________ > >>>> libxml-devel mailing list > >>>> libxml-devel at rubyforge.org > >>>> http://rubyforge.org/mailman/listinfo/libxml-devel > >>>> > >>> _______________________________________________ > >>> libxml-devel mailing list > >>> libxml-devel at rubyforge.org > >>> http://rubyforge.org/mailman/listinfo/libxml-devel > >> > >> _______________________________________________ > >> libxml-devel mailing list > >> libxml-devel at rubyforge.org > >> http://rubyforge.org/mailman/listinfo/libxml-devel > >> > > _______________________________________________ > > libxml-devel mailing list > > libxml-devel at rubyforge.org > > http://rubyforge.org/mailman/listinfo/libxml-devel > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel > From cbascom at revasystems.com Thu Sep 20 13:21:29 2007 From: cbascom at revasystems.com (Calvin Bascom) Date: Thu, 20 Sep 2007 13:21:29 -0400 Subject: [libxml-devel] Segfault accessing element attributes Message-ID: <46F2AC19.9070507@revasystems.com> I'm using the XML::Parser to parse XML data passed in as a string. The parse works fine and my code then goes on to access elements and attributes in the resulting document. If I use this code outside of the Ruby on Rails environment, I never have any segfaults and everything works as expected. For some reason when I call this code from within a rails controller however, I get a segfault accessing an attribute. If in my controller I disable garbage collection prior to executing this code and re-enable it afterwards, the segfault goes away. I am using libxml version 0.5.1.0, ruby 1.8.6, and rails 1.2.3 on a Fedora Core 4 machine. I'm pretty new to Ruby so I don't know how to dig much further into this, but if anyone has any suggestions based on the code and backtrace below, I'd be happy to experiment more to get to the bottom of it. I'm also not sure if this is a known issue or not... I found an archive post from Tue Sep 11 19:32:54 EDT 2007 that contains a very similar looking backtrace from some unit tests. Thanks in advance, Calvin require 'rubygems' require 'xml/libxml' module TAP class Config def initialize(data) parser = XML::Parser.new parser.string = data @doc = parser.parse end def get_attribute(elem, attribute) elem.property(attribute) end def each_tap(&block) @doc.find('//rfx-list/rfx').each do |elem| yield(elem) end end def each_reader(&block) @doc.find('//reader-table/reader-instance').each do |elem| yield(elem) end end def each_antenna(reader, &block) xpath = '//reader-table/reader-instance[@hostname="' + reader + '"]/read-point' @doc.find(xpath).each do |elem| yield(elem) end end def facility_info(attribute) elem = @doc.find('//facility-info').first return elem.property(attribute) end def version_info(attribute) elem = @doc.find('//global-config/version').first return elem.property(attribute) end def port1_service_info(attribute) elem = @doc.find('//port1-service').first return elem.property(attribute) end def stats_service_info(attribute) elem = @doc.find('//stats-service').first return elem.property(attribute) end def tap_info_from_attrib(attrib, value, attrib2) xpath = '//rfx-list/rfx[@' + attrib + '="' + value.to_s + '"]' elem = @doc.find(xpath).first return elem.property(attrib2) # This line is where the segfault always occurs end end end Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208695104 (LWP 12060)] 0x00aaa327 in st_lookup (table=0x0, key=75257, value=0xbfb2af98) at st.c:250 250 hash_val = do_hash(key, table); (gdb) where #0 0x00aaa327 in st_lookup (table=0x0, key=75257, value=0xbfb2af98) at st.c:250 #1 0x00a46009 in search_method (klass=3066535480, id=75257, origin=0xbfb2afc8) at eval.c:475 #2 0x00a46066 in rb_get_method_body (klassp=0xbfb2afe8, idp=0xbfb2aff4, noexp=0xbfb2aff8) at eval.c:496 #3 0x00a520d0 in rb_call (klass=3066535480, recv=3066535500, mid=75257, argc=1, argv=0xbfb2b020, scope=0, self=3066724260) at eval.c:6037 #4 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not available. ) at eval.c:3447 #5 0x00a4f3ed in rb_eval (self=3066724260, n=Variable "n" is not available. ) at eval.c:3391 #6 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #7 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, mid=105513, argc=3, argv=0xbfb2b920, scope=0, self=3066881040) at eval.c:6062 #8 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not available. ) at eval.c:3447 #9 0x00a4f216 in rb_eval (self=3066881040, n=Variable "n" is not available. ) at eval.c:3638 #10 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #11 0x00a4f80b in rb_eval (self=3066724260, n=Variable "n" is not available. ) at eval.c:3252 #12 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #13 0x00a557a2 in rb_yield (val=3067281580) at eval.c:5073 #14 0x002d038d in ruby_xml_node_set_each (self=3066278320) at ruby_xml_node_set.c:70 #15 0x00a470c7 in call_cfunc (func=0x2d0334 , recv=3066278320, len=Variable "len" is not available. ) at eval.c:5662 #16 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #17 0x00a52106 in rb_call (klass=3064869880, recv=3066278320, mid=3841, argc=0, argv=0x0, scope=0, self=3066724260) at eval.c:6062 #18 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not available. ) at eval.c:3447 #19 0x00a50e99 in rb_eval (self=3066724260, n=Variable "n" is not available. ) at eval.c:3177 #20 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #21 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, mid=105457, argc=0, argv=0x0, scope=0, self=3066881040) at eval.c:6062 #22 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not available. ) at eval.c:3447 #23 0x00a50e99 in rb_eval (self=3066881040, n=Variable "n" is not available. ) at eval.c:3177 #24 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #25 0x00a52106 in rb_call (klass=3066957560, recv=3066881040, mid=109993, argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 #26 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3447 #27 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #28 0x00a4f80b in rb_eval (self=3064541760, n=Variable "n" is not available. ) at eval.c:3252 #29 0x00a50674 in rb_eval (self=3064541760, n=Variable "n" is not available. ) at eval.c:3263 #30 0x00a50a62 in rb_eval (self=3064541760, n=Variable "n" is not available. ) at eval.c:3311 #31 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #32 0x00a52106 in rb_call (klass=3084666240, recv=3064541760, mid=55513, argc=1, argv=0xbfb2ec80, scope=0, self=3066957560) at eval.c:6062 #33 0x00a4e129 in rb_eval (self=3066957560, n=Variable "n" is not available. ) at eval.c:3447 #34 0x00a5951d in block_pass (self=3066957560, node=0xb7d2c848) at eval.c:8871 #35 0x00a4ec5a in rb_eval (self=3066957560, n=Variable "n" is not available. ) at eval.c:3163 #36 0x00a4ecb7 in rb_eval (self=3066957560, n=Variable "n" is not available. ) at eval.c:3628 #37 0x00a50674 in rb_eval (self=3066957560, n=Variable "n" is not available. ) at eval.c:3263 #38 0x00a50a62 in rb_eval (self=3066957560, n=Variable "n" is not available. ) at eval.c:3311 #39 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #40 0x00a52106 in rb_call (klass=3082903880, recv=3066957560, mid=55513, argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 #41 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3447 #42 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3177 #43 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3263 #44 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #45 0x00a52106 in rb_call (klass=3067292140, recv=3067187700, mid=12585, argc=0, argv=0xbfb30fd4, scope=1, self=6) at eval.c:6062 #46 0x00a52789 in rb_f_send (argc=0, argv=0xbfb30fd4, recv=3067187700) at eval.c:6110 #47 0x00a470d6 in call_cfunc (func=0xa526e4 , recv=3067187700, len=Variable "len" is not available. ) at eval.c:5659 #48 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #49 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, mid=4049, argc=1, argv=0xbfb30fd0, scope=1, self=3067187700) at eval.c:6062 #50 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #51 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #52 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, mid=69129, argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 #53 0x00a4f69e in rb_eval (self=Variable "self" is not available. ) at eval.c:3468 #54 0x00a4f3ed in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3391 ---Type to continue, or q to quit--- #55 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #56 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, mid=69097, argc=2, argv=0xbfb31e70, scope=1, self=3067187700) at eval.c:6062 #57 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #58 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3628 #59 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #60 0x00a4f80b in rb_eval (self=3067201880, n=Variable "n" is not available. ) at eval.c:3252 #61 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #62 0x00a52106 in rb_call (klass=3069246260, recv=3067201880, mid=5265, argc=1, argv=0xbfb32ca0, scope=0, self=3067187700) at eval.c:6062 #63 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3447 #64 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3177 #65 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #66 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, mid=69097, argc=2, argv=0xbfb335a0, scope=1, self=3067187700) at eval.c:6062 #67 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #68 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #69 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, mid=68481, argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 #70 0x00a4f69e in rb_eval (self=Variable "self" is not available. ) at eval.c:3468 #71 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #72 0x00a4f80b in rb_eval (self=3082623920, n=Variable "n" is not available. ) at eval.c:3252 #73 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #74 0x00a52106 in rb_call (klass=3082623820, recv=3082623920, mid=57129, argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 #75 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3447 #76 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3177 #77 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3441 #78 0x00a4f5d1 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3796 #79 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3441 #80 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3628 #81 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #82 0x00a52106 in rb_call (klass=3069373060, recv=3067187700, mid=68377, argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 #83 0x00a4f69e in rb_eval (self=Variable "self" is not available. ) at eval.c:3468 #84 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3263 #85 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #86 0x00a52106 in rb_call (klass=3069373020, recv=3067187700, mid=63513, argc=0, argv=0xbfb36764, scope=1, self=6) at eval.c:6062 #87 0x00a52789 in rb_f_send (argc=0, argv=0xbfb36764, recv=3067187700) at eval.c:6110 #88 0x00a470d6 in call_cfunc (func=0xa526e4 , recv=3067187700, len=Variable "len" is not available. ) at eval.c:5659 #89 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #90 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, mid=4049, argc=1, argv=0xbfb36760, scope=1, self=3067187700) at eval.c:6062 #91 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #92 0x00a50a62 in rb_eval (self=3067187700, n=Variable "n" is not available. ) at eval.c:3311 #93 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #94 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, mid=69121, argc=3, argv=0xbfb370a0, scope=1, self=3067187700) at eval.c:6062 #95 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #96 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #97 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, mid=71297, argc=3, argv=0xbfb37690, scope=1, self=3067187700) at eval.c:6062 #98 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #99 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #100 0x00a52106 in rb_call (klass=3069365640, recv=3067187700, mid=30209, argc=2, argv=0xbfb37ca0, scope=0, self=3067292140) at eval.c:6062 #101 0x00a4e129 in rb_eval (self=3067292140, n=Variable "n" is not available. ) at eval.c:3447 #102 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #103 0x00a52106 in rb_call (klass=3069491740, recv=3067292140, mid=30209, argc=2, argv=0xbfb38290, scope=0, self=3066460360) at eval.c:6062 #104 0x00a4e129 in rb_eval (self=3066460360, n=Variable "n" is not available. ) at eval.c:3447 #105 0x00a4e04d in rb_eval (self=3066460360, n=Variable "n" is not available. ) at eval.c:3441 #106 0x00a50674 in rb_eval (self=3066460360, n=Variable "n" is not available. ) at eval.c:3263 #107 0x00a50a62 in rb_eval (self=3066460360, n=Variable "n" is not available. ) at eval.c:3311 #108 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #109 0x00a52106 in rb_call (klass=3066460340, recv=3066460360, mid=49913, argc=3, argv=0xbfb391c0, scope=0, self=3066433580) at eval.c:6062 ---Type to continue, or q to quit--- #110 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not available. ) at eval.c:3447 #111 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #112 0x00a557a2 in rb_yield (val=6) at eval.c:5073 #113 0x00a4c071 in rb_ensure (b_proc=0xa5578c , data1=6, e_proc=0x27e4c8 , data2=3066433460) at eval.c:5456 #114 0x0027e5f2 in rb_mutex_synchronize (self=3066433460) at fastthread.c:526 #115 0x00a470c7 in call_cfunc (func=0x27e5c0 , recv=3066433460, len=Variable "len" is not available. ) at eval.c:5662 #116 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #117 0x00a52106 in rb_call (klass=3082897400, recv=3066433460, mid=11689, argc=0, argv=0x0, scope=0, self=3066433580) at eval.c:6062 #118 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not available. ) at eval.c:3447 #119 0x00a50e99 in rb_eval (self=3066433580, n=Variable "n" is not available. ) at eval.c:3177 #120 0x00a50674 in rb_eval (self=3066433580, n=Variable "n" is not available. ) at eval.c:3263 #121 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #122 0x00a52106 in rb_call (klass=3084096460, recv=3066433580, mid=30209, argc=2, argv=0xbfb3a820, scope=0, self=3083412160) at eval.c:6062 #123 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3447 #124 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #125 0x00a557a2 in rb_yield (val=3066433580) at eval.c:5073 #126 0x00a3614a in rb_ary_each (ary=3066433300) at array.c:1138 #127 0x00a470c7 in call_cfunc (func=0xa3610c , recv=3066433300, len=Variable "len" is not available. ) at eval.c:5662 #128 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #129 0x00a52106 in rb_call (klass=3086238940, recv=3066433300, mid=3841, argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 #130 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3447 #131 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3177 #132 0x00a4df66 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:2919 #133 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3101 #134 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3263 #135 0x00a50a62 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3311 #136 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #137 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, mid=45561, argc=1, argv=0xbfb3c620, scope=1, self=3083412160) at eval.c:6062 #138 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #139 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #140 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , arg=0xb6b314b8, th=0xaac5ce8) at eval.c:11878 #141 0x00a46fc8 in call_cfunc (func=0xa5d190 , recv=3065189580, len=Variable "len" is not available. ) at eval.c:5656 #142 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #143 0x00a52106 in rb_call (klass=3086253940, recv=3065189580, mid=2961, argc=1, argv=0xbfb3d3b0, scope=1, self=6) at eval.c:6062 #144 0x00a52a0d in rb_obj_call_init (obj=3065189580, argc=1, argv=0xbfb3d3b0) at eval.c:7594 #145 0x00a52a53 in rb_thread_s_new (argc=1, argv=0xbfb3d3b0, klass=3086253940) at eval.c:11991 #146 0x00a470d6 in call_cfunc (func=0xa52a20 , recv=3086253940, len=Variable "len" is not available. ) at eval.c:5659 #147 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #148 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, mid=3353, argc=1, argv=0xbfb3d3b0, scope=0, self=3083412160) at eval.c:6062 #149 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3447 #150 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3177 #151 0x00a4f216 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3638 #152 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3263 #153 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3101 #154 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #155 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , arg=0xb6c104ec, th=0xa234868) at eval.c:11878 #156 0x00a46fc8 in call_cfunc (func=0xa5d190 , recv=3066103040, len=Variable "len" is not available. ) at eval.c:5656 #157 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #158 0x00a52106 in rb_call (klass=3086253940, recv=3066103040, mid=2961, argc=0, argv=0x0, scope=1, self=6) at eval.c:6062 #159 0x00a52a0d in rb_obj_call_init (obj=3066103040, argc=0, argv=0x0) at eval.c:7594 #160 0x00a52a53 in rb_thread_s_new (argc=0, argv=0x0, klass=3086253940) at eval.c:11991 #161 0x00a470d6 in call_cfunc (func=0xa52a20 , recv=3086253940, len=Variable "len" is not available. ) at eval.c:5659 #162 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #163 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, mid=3353, argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 #164 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3447 ---Type to continue, or q to quit--- #165 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3177 #166 0x00a4ef97 in rb_eval (self=3083412160, n=Variable "n" is not available. ) at eval.c:3648 #167 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #168 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, mid=5137, argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 #169 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not available. ) at eval.c:3447 #170 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #171 0x00a557a2 in rb_yield (val=3066103220) at eval.c:5073 #172 0x00a658e9 in each_i (key=3083412000, value=3083412160) at hash.c:1119 #173 0x00a64c74 in hash_foreach_iter (key=3083412000, value=3083412160, arg=0xbfb40118) at hash.c:170 #174 0x00aaa9cf in st_foreach (table=0xa2e1100, func=0xa64c44 , arg=3216245016) at st.c:487 #175 0x00a64d88 in hash_foreach_call (arg=0xbfb40118) at hash.c:205 #176 0x00a4c071 in rb_ensure (b_proc=0xa64d60 , data1=3216245016, e_proc=0xa64cfc , data2=3083412920) at eval.c:5456 #177 0x00a64df0 in rb_hash_foreach (hash=3083412920, func=0xa658bc , farg=0) at hash.c:223 #178 0x00a65918 in rb_hash_each (hash=3083412920) at hash.c:1147 #179 0x00a470c7 in call_cfunc (func=0xa658f4 , recv=3083412920, len=Variable "len" is not available. ) at eval.c:5662 #180 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #181 0x00a52106 in rb_call (klass=3086235920, recv=3083412920, mid=3841, argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 #182 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not available. ) at eval.c:3447 #183 0x00a50e99 in rb_eval (self=3083413260, n=Variable "n" is not available. ) at eval.c:3177 #184 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #185 0x00a52106 in rb_call (klass=3081915660, recv=3083413260, mid=5137, argc=0, argv=0x0, scope=0, self=3083476520) at eval.c:6062 #186 0x00a4e129 in rb_eval (self=3083476520, n=Variable "n" is not available. ) at eval.c:3447 #187 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #188 0x00a52106 in rb_call (klass=3085655540, recv=3083476520, mid=5137, argc=0, argv=0x0, scope=0, self=3083476960) at eval.c:6062 #189 0x00a4e129 in rb_eval (self=3083476960, n=Variable "n" is not available. ) at eval.c:3447 #190 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #191 0x00a52106 in rb_call (klass=3082016240, recv=3083476960, mid=5137, argc=1, argv=0xbfb41870, scope=0, self=3086264740) at eval.c:6062 #192 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3447 #193 0x00a5004f in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3008 #194 0x00a5c29e in rb_load (fname=3084514580, wrap=0) at eval.c:6857 #195 0x00a5c3a1 in rb_f_load (argc=1, argv=0xbfb424c0) at eval.c:6925 #196 0x00a470d6 in call_cfunc (func=0xa5c35c , recv=3086264740, len=Variable "len" is not available. ) at eval.c:5659 #197 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #198 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, mid=9737, argc=1, argv=0xbfb424c0, scope=3, self=6) at eval.c:6062 #199 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb424c0) at eval.c:6230 #200 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3509 #201 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #202 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3252 #203 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3311 #204 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3311 #205 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #206 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, mid=41161, argc=1, argv=0xbfb43640, scope=0, self=3086264740) at eval.c:6062 #207 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3447 #208 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3177 #209 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3263 #210 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #211 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, mid=9737, argc=1, argv=0xbfb44250, scope=1, self=3086264740) at eval.c:6062 #212 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #213 0x00a50a62 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3311 #214 0x00a5c29e in rb_load (fname=3081847160, wrap=0) at eval.c:6857 #215 0x00a5c729 in rb_require_safe (fname=3081851960, safe=0) at eval.c:7213 #216 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3081854840) at eval.c:7106 #217 0x00a470b8 in call_cfunc (func=0xa5c9a0 , recv=3086264740, len=Variable "len" is not available. ) at eval.c:5665 #218 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 ---Type to continue, or q to quit--- #219 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, mid=30129, argc=1, argv=0xbfb450c0, scope=1, self=3086264740) at eval.c:6062 #220 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #221 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3263 #222 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #223 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, mid=9745, argc=1, argv=0xbfb45a00, scope=3, self=6) at eval.c:6062 #224 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb45a00) at eval.c:6230 #225 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3509 #226 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. ) at eval.c:4991 #227 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3252 #228 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3311 #229 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not available. ) at eval.c:3311 #230 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #231 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, mid=41161, argc=1, argv=0xbfb46b80, scope=0, self=3086264740) at eval.c:6062 #232 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3447 #233 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3177 #234 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3263 #235 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #236 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, mid=9745, argc=1, argv=0xbfb47790, scope=1, self=3086264740) at eval.c:6062 #237 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #238 0x00a5c29e in rb_load (fname=3084464920, wrap=0) at eval.c:6857 #239 0x00a5c729 in rb_require_safe (fname=3086200040, safe=0) at eval.c:7213 #240 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3084651160) at eval.c:7106 #241 0x00a470b8 in call_cfunc (func=0xa5c9a0 , recv=3086264740, len=Variable "len" is not available. ) at eval.c:5665 #242 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5815 #243 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, mid=30129, argc=1, argv=0xbfb48210, scope=1, self=3086264740) at eval.c:6062 #244 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #245 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not available. ) at eval.c:3263 #246 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. ) at eval.c:5966 #247 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, mid=9745, argc=1, argv=0xbfb48b10, scope=1, self=3086264740) at eval.c:6062 #248 0x00a4e23f in rb_eval (self=Variable "self" is not available. ) at eval.c:3462 #249 0x00a5b345 in ruby_exec_internal () at eval.c:1608 #250 0x00a5b381 in ruby_exec () at eval.c:1628 #251 0x00a5d29c in ruby_run () at eval.c:1638 #252 0x08048669 in main (argc=Could not find the frame base for "main". ) at main.c:48 From danj at 3skel.com Thu Sep 20 16:45:18 2007 From: danj at 3skel.com (Dan Janowski) Date: Thu, 20 Sep 2007 16:45:18 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F2AC19.9070507@revasystems.com> References: <46F2AC19.9070507@revasystems.com> Message-ID: <44B9E7D9-86C5-47FE-8234-469C51ECDD97@3skel.com> Hi, As you suspected, this is the same problem. Your report helps to confirm my suspicions. It is the memory handing inside the xpath/node_set portion of the extension. I think I have figured out how to solve the problem, now I just need an hour to do it. Please bear with me, this is the top of the list at the moment. Dan On Sep 20, 2007, at 13:21, Calvin Bascom wrote: > I'm using the XML::Parser to parse XML data passed in as a string. > The > parse works fine and my code then goes on to access elements and > attributes in the resulting document. If I use this code outside > of the > Ruby on Rails environment, I never have any segfaults and everything > works as expected. For some reason when I call this code from > within a > rails controller however, I get a segfault accessing an attribute. If > in my controller I disable garbage collection prior to executing this > code and re-enable it afterwards, the segfault goes away. I am using > libxml version 0.5.1.0, ruby 1.8.6, and rails 1.2.3 on a Fedora Core 4 > machine. I'm pretty new to Ruby so I don't know how to dig much > further > into this, but if anyone has any suggestions based on the code and > backtrace below, I'd be happy to experiment more to get to the > bottom of > it. I'm also not sure if this is a known issue or not... I found an > archive post from Tue Sep 11 19:32:54 EDT 2007 that contains a very > similar looking backtrace from some unit tests. > > Thanks in advance, > Calvin > > require 'rubygems' > require 'xml/libxml' > > module TAP > class Config > > def initialize(data) > parser = XML::Parser.new > parser.string = data > @doc = parser.parse > end > > def get_attribute(elem, attribute) > elem.property(attribute) > end > > def each_tap(&block) > @doc.find('//rfx-list/rfx').each do |elem| > yield(elem) > end > end > > def each_reader(&block) > @doc.find('//reader-table/reader-instance').each do |elem| > yield(elem) > end > end > > def each_antenna(reader, &block) > xpath = '//reader-table/reader-instance[@hostname="' + reader + > '"]/read-point' > @doc.find(xpath).each do |elem| > yield(elem) > end > end > > def facility_info(attribute) > elem = @doc.find('//facility-info').first > return elem.property(attribute) > end > > def version_info(attribute) > elem = @doc.find('//global-config/version').first > return elem.property(attribute) > end > > def port1_service_info(attribute) > elem = @doc.find('//port1-service').first > return elem.property(attribute) > end > > def stats_service_info(attribute) > elem = @doc.find('//stats-service').first > return elem.property(attribute) > end > > def tap_info_from_attrib(attrib, value, attrib2) > xpath = '//rfx-list/rfx[@' + attrib + '="' + value.to_s + '"]' > elem = @doc.find(xpath).first > return elem.property(attrib2) # This line is where the segfault > always occurs > end > > end > end > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1208695104 (LWP 12060)] > 0x00aaa327 in st_lookup (table=0x0, key=75257, value=0xbfb2af98) at > st.c:250 > 250 hash_val = do_hash(key, table); > (gdb) where > #0 0x00aaa327 in st_lookup (table=0x0, key=75257, > value=0xbfb2af98) at > st.c:250 > #1 0x00a46009 in search_method (klass=3066535480, id=75257, > origin=0xbfb2afc8) at eval.c:475 > #2 0x00a46066 in rb_get_method_body (klassp=0xbfb2afe8, > idp=0xbfb2aff4, > noexp=0xbfb2aff8) at eval.c:496 > #3 0x00a520d0 in rb_call (klass=3066535480, recv=3066535500, > mid=75257, > argc=1, argv=0xbfb2b020, scope=0, self=3066724260) at eval.c:6037 > #4 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3447 > #5 0x00a4f3ed in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3391 > #6 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #7 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, > mid=105513, argc=3, argv=0xbfb2b920, scope=0, self=3066881040) at > eval.c:6062 > #8 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3447 > #9 0x00a4f216 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3638 > #10 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #11 0x00a4f80b in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3252 > #12 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #13 0x00a557a2 in rb_yield (val=3067281580) at eval.c:5073 > #14 0x002d038d in ruby_xml_node_set_each (self=3066278320) at > ruby_xml_node_set.c:70 > #15 0x00a470c7 in call_cfunc (func=0x2d0334 , > recv=3066278320, len=Variable "len" is not available. > ) at eval.c:5662 > #16 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #17 0x00a52106 in rb_call (klass=3064869880, recv=3066278320, > mid=3841, > argc=0, argv=0x0, scope=0, self=3066724260) at eval.c:6062 > #18 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3447 > #19 0x00a50e99 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3177 > #20 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #21 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, > mid=105457, argc=0, argv=0x0, scope=0, self=3066881040) at eval.c:6062 > #22 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3447 > #23 0x00a50e99 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3177 > #24 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #25 0x00a52106 in rb_call (klass=3066957560, recv=3066881040, > mid=109993, argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #26 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #27 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #28 0x00a4f80b in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3252 > #29 0x00a50674 in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3263 > #30 0x00a50a62 in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3311 > #31 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #32 0x00a52106 in rb_call (klass=3084666240, recv=3064541760, > mid=55513, > argc=1, argv=0xbfb2ec80, scope=0, self=3066957560) at eval.c:6062 > #33 0x00a4e129 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3447 > #34 0x00a5951d in block_pass (self=3066957560, node=0xb7d2c848) at > eval.c:8871 > #35 0x00a4ec5a in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3163 > #36 0x00a4ecb7 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3628 > #37 0x00a50674 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3263 > #38 0x00a50a62 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3311 > #39 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #40 0x00a52106 in rb_call (klass=3082903880, recv=3066957560, > mid=55513, > argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #41 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #42 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #43 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3263 > #44 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #45 0x00a52106 in rb_call (klass=3067292140, recv=3067187700, > mid=12585, > argc=0, argv=0xbfb30fd4, scope=1, self=6) at eval.c:6062 > #46 0x00a52789 in rb_f_send (argc=0, argv=0xbfb30fd4, recv=3067187700) > at eval.c:6110 > #47 0x00a470d6 in call_cfunc (func=0xa526e4 , > recv=3067187700, len=Variable "len" is not available. > ) at eval.c:5659 > #48 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #49 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, > mid=4049, > argc=1, argv=0xbfb30fd0, scope=1, self=3067187700) at eval.c:6062 > #50 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #51 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #52 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, > mid=69129, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #53 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #54 0x00a4f3ed in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3391 > ---Type to continue, or q to quit--- > #55 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #56 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=69097, > argc=2, argv=0xbfb31e70, scope=1, self=3067187700) at eval.c:6062 > #57 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #58 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3628 > #59 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #60 0x00a4f80b in rb_eval (self=3067201880, n=Variable "n" is not > available. > ) at eval.c:3252 > #61 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #62 0x00a52106 in rb_call (klass=3069246260, recv=3067201880, > mid=5265, > argc=1, argv=0xbfb32ca0, scope=0, self=3067187700) at eval.c:6062 > #63 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #64 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #65 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #66 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=69097, > argc=2, argv=0xbfb335a0, scope=1, self=3067187700) at eval.c:6062 > #67 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #68 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #69 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=68481, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #70 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #71 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #72 0x00a4f80b in rb_eval (self=3082623920, n=Variable "n" is not > available. > ) at eval.c:3252 > #73 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #74 0x00a52106 in rb_call (klass=3082623820, recv=3082623920, > mid=57129, > argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #75 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #76 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #77 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3441 > #78 0x00a4f5d1 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3796 > #79 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3441 > #80 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3628 > #81 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #82 0x00a52106 in rb_call (klass=3069373060, recv=3067187700, > mid=68377, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #83 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #84 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3263 > #85 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #86 0x00a52106 in rb_call (klass=3069373020, recv=3067187700, > mid=63513, > argc=0, argv=0xbfb36764, scope=1, self=6) at eval.c:6062 > #87 0x00a52789 in rb_f_send (argc=0, argv=0xbfb36764, recv=3067187700) > at eval.c:6110 > #88 0x00a470d6 in call_cfunc (func=0xa526e4 , > recv=3067187700, len=Variable "len" is not available. > ) at eval.c:5659 > #89 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #90 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, > mid=4049, > argc=1, argv=0xbfb36760, scope=1, self=3067187700) at eval.c:6062 > #91 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #92 0x00a50a62 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3311 > #93 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #94 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, > mid=69121, > argc=3, argv=0xbfb370a0, scope=1, self=3067187700) at eval.c:6062 > #95 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #96 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #97 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=71297, > argc=3, argv=0xbfb37690, scope=1, self=3067187700) at eval.c:6062 > #98 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #99 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #100 0x00a52106 in rb_call (klass=3069365640, recv=3067187700, > mid=30209, argc=2, argv=0xbfb37ca0, scope=0, self=3067292140) at > eval.c:6062 > #101 0x00a4e129 in rb_eval (self=3067292140, n=Variable "n" is not > available. > ) at eval.c:3447 > #102 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #103 0x00a52106 in rb_call (klass=3069491740, recv=3067292140, > mid=30209, argc=2, argv=0xbfb38290, scope=0, self=3066460360) at > eval.c:6062 > #104 0x00a4e129 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3447 > #105 0x00a4e04d in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3441 > #106 0x00a50674 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3263 > #107 0x00a50a62 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3311 > #108 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #109 0x00a52106 in rb_call (klass=3066460340, recv=3066460360, > mid=49913, argc=3, argv=0xbfb391c0, scope=0, self=3066433580) at > eval.c:6062 > ---Type to continue, or q to quit--- > #110 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3447 > #111 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #112 0x00a557a2 in rb_yield (val=6) at eval.c:5073 > #113 0x00a4c071 in rb_ensure (b_proc=0xa5578c , data1=6, > e_proc=0x27e4c8 , data2=3066433460) at eval.c:5456 > #114 0x0027e5f2 in rb_mutex_synchronize (self=3066433460) at > fastthread.c:526 > #115 0x00a470c7 in call_cfunc (func=0x27e5c0 , > recv=3066433460, len=Variable "len" is not available. > ) at eval.c:5662 > #116 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #117 0x00a52106 in rb_call (klass=3082897400, recv=3066433460, > mid=11689, argc=0, argv=0x0, scope=0, self=3066433580) at eval.c:6062 > #118 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3447 > #119 0x00a50e99 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3177 > #120 0x00a50674 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3263 > #121 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #122 0x00a52106 in rb_call (klass=3084096460, recv=3066433580, > mid=30209, argc=2, argv=0xbfb3a820, scope=0, self=3083412160) at > eval.c:6062 > #123 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #124 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #125 0x00a557a2 in rb_yield (val=3066433580) at eval.c:5073 > #126 0x00a3614a in rb_ary_each (ary=3066433300) at array.c:1138 > #127 0x00a470c7 in call_cfunc (func=0xa3610c , > recv=3066433300, len=Variable "len" is not available. > ) at eval.c:5662 > #128 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #129 0x00a52106 in rb_call (klass=3086238940, recv=3066433300, > mid=3841, > argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 > #130 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #131 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #132 0x00a4df66 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:2919 > #133 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3101 > #134 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3263 > #135 0x00a50a62 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3311 > #136 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #137 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, > mid=45561, argc=1, argv=0xbfb3c620, scope=1, self=3083412160) at > eval.c:6062 > #138 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #139 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #140 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , > arg=0xb6b314b8, th=0xaac5ce8) at eval.c:11878 > #141 0x00a46fc8 in call_cfunc (func=0xa5d190 , > recv=3065189580, len=Variable "len" is not available. > ) at eval.c:5656 > #142 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #143 0x00a52106 in rb_call (klass=3086253940, recv=3065189580, > mid=2961, > argc=1, argv=0xbfb3d3b0, scope=1, self=6) at eval.c:6062 > #144 0x00a52a0d in rb_obj_call_init (obj=3065189580, argc=1, > argv=0xbfb3d3b0) at eval.c:7594 > #145 0x00a52a53 in rb_thread_s_new (argc=1, argv=0xbfb3d3b0, > klass=3086253940) at eval.c:11991 > #146 0x00a470d6 in call_cfunc (func=0xa52a20 , > recv=3086253940, len=Variable "len" is not available. > ) at eval.c:5659 > #147 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #148 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, > mid=3353, > argc=1, argv=0xbfb3d3b0, scope=0, self=3083412160) at eval.c:6062 > #149 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #150 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #151 0x00a4f216 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3638 > #152 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3263 > #153 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3101 > #154 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #155 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , > arg=0xb6c104ec, th=0xa234868) at eval.c:11878 > #156 0x00a46fc8 in call_cfunc (func=0xa5d190 , > recv=3066103040, len=Variable "len" is not available. > ) at eval.c:5656 > #157 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #158 0x00a52106 in rb_call (klass=3086253940, recv=3066103040, > mid=2961, > argc=0, argv=0x0, scope=1, self=6) at eval.c:6062 > #159 0x00a52a0d in rb_obj_call_init (obj=3066103040, argc=0, argv=0x0) > at eval.c:7594 > #160 0x00a52a53 in rb_thread_s_new (argc=0, argv=0x0, > klass=3086253940) > at eval.c:11991 > #161 0x00a470d6 in call_cfunc (func=0xa52a20 , > recv=3086253940, len=Variable "len" is not available. > ) at eval.c:5659 > #162 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #163 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, > mid=3353, > argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 > #164 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > ---Type to continue, or q to quit--- > #165 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #166 0x00a4ef97 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3648 > #167 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #168 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 > #169 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3447 > #170 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #171 0x00a557a2 in rb_yield (val=3066103220) at eval.c:5073 > #172 0x00a658e9 in each_i (key=3083412000, value=3083412160) at > hash.c:1119 > #173 0x00a64c74 in hash_foreach_iter (key=3083412000, > value=3083412160, > arg=0xbfb40118) at hash.c:170 > #174 0x00aaa9cf in st_foreach (table=0xa2e1100, func=0xa64c44 > , arg=3216245016) at st.c:487 > #175 0x00a64d88 in hash_foreach_call (arg=0xbfb40118) at hash.c:205 > #176 0x00a4c071 in rb_ensure (b_proc=0xa64d60 , > data1=3216245016, e_proc=0xa64cfc , > data2=3083412920) > at eval.c:5456 > #177 0x00a64df0 in rb_hash_foreach (hash=3083412920, func=0xa658bc > , farg=0) at hash.c:223 > #178 0x00a65918 in rb_hash_each (hash=3083412920) at hash.c:1147 > #179 0x00a470c7 in call_cfunc (func=0xa658f4 , > recv=3083412920, len=Variable "len" is not available. > ) at eval.c:5662 > #180 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #181 0x00a52106 in rb_call (klass=3086235920, recv=3083412920, > mid=3841, > argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 > #182 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3447 > #183 0x00a50e99 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3177 > #184 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #185 0x00a52106 in rb_call (klass=3081915660, recv=3083413260, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083476520) at eval.c:6062 > #186 0x00a4e129 in rb_eval (self=3083476520, n=Variable "n" is not > available. > ) at eval.c:3447 > #187 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #188 0x00a52106 in rb_call (klass=3085655540, recv=3083476520, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083476960) at eval.c:6062 > #189 0x00a4e129 in rb_eval (self=3083476960, n=Variable "n" is not > available. > ) at eval.c:3447 > #190 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #191 0x00a52106 in rb_call (klass=3082016240, recv=3083476960, > mid=5137, > argc=1, argv=0xbfb41870, scope=0, self=3086264740) at eval.c:6062 > #192 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #193 0x00a5004f in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3008 > #194 0x00a5c29e in rb_load (fname=3084514580, wrap=0) at eval.c:6857 > #195 0x00a5c3a1 in rb_f_load (argc=1, argv=0xbfb424c0) at eval.c:6925 > #196 0x00a470d6 in call_cfunc (func=0xa5c35c , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5659 > #197 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #198 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9737, > argc=1, argv=0xbfb424c0, scope=3, self=6) at eval.c:6062 > #199 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb424c0) at > eval.c:6230 > #200 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3509 > #201 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #202 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3252 > #203 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #204 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #205 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #206 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, > mid=41161, argc=1, argv=0xbfb43640, scope=0, self=3086264740) at > eval.c:6062 > #207 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #208 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3177 > #209 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #210 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #211 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, > mid=9737, > argc=1, argv=0xbfb44250, scope=1, self=3086264740) at eval.c:6062 > #212 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #213 0x00a50a62 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3311 > #214 0x00a5c29e in rb_load (fname=3081847160, wrap=0) at eval.c:6857 > #215 0x00a5c729 in rb_require_safe (fname=3081851960, safe=0) at > eval.c:7213 > #216 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3081854840) at > eval.c:7106 > #217 0x00a470b8 in call_cfunc (func=0xa5c9a0 , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5665 > #218 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > ---Type to continue, or q to quit--- > #219 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, > mid=30129, argc=1, argv=0xbfb450c0, scope=1, self=3086264740) at > eval.c:6062 > #220 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #221 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #222 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #223 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb45a00, scope=3, self=6) at eval.c:6062 > #224 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb45a00) at > eval.c:6230 > #225 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3509 > #226 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #227 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3252 > #228 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #229 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #230 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #231 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, > mid=41161, argc=1, argv=0xbfb46b80, scope=0, self=3086264740) at > eval.c:6062 > #232 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #233 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3177 > #234 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #235 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #236 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb47790, scope=1, self=3086264740) at eval.c:6062 > #237 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #238 0x00a5c29e in rb_load (fname=3084464920, wrap=0) at eval.c:6857 > #239 0x00a5c729 in rb_require_safe (fname=3086200040, safe=0) at > eval.c:7213 > #240 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3084651160) at > eval.c:7106 > #241 0x00a470b8 in call_cfunc (func=0xa5c9a0 , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5665 > #242 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #243 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, > mid=30129, argc=1, argv=0xbfb48210, scope=1, self=3086264740) at > eval.c:6062 > #244 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #245 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #246 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #247 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb48b10, scope=1, self=3086264740) at eval.c:6062 > #248 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #249 0x00a5b345 in ruby_exec_internal () at eval.c:1608 > #250 0x00a5b381 in ruby_exec () at eval.c:1628 > #251 0x00a5d29c in ruby_run () at eval.c:1638 > #252 0x08048669 in main (argc=Could not find the frame base for > "main". > ) at main.c:48 > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Fri Sep 21 10:16:12 2007 From: danj at 3skel.com (Dan Janowski) Date: Fri, 21 Sep 2007 10:16:12 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F2AC19.9070507@revasystems.com> References: <46F2AC19.9070507@revasystems.com> Message-ID: <5FB129B8-068A-47BC-804F-122E9AABBD95@3skel.com> I have just committed a re-write of XPath/XPointer and *.find (calls to XPath). It is svn revision 183. See if it fixes this problem. Note, there is an incompatibility, the new XPath::Object class does not support .xpath method, but I could find no reason to carry it forward. If it works, I'll roll it into a release. Get it here: svn checkout http://libxml.rubyforge.org/svn/branches/MEM2 You should end up with rev 183 or higher. Dan On Sep 20, 2007, at 13:21, Calvin Bascom wrote: > I'm using the XML::Parser to parse XML data passed in as a string. > The > parse works fine and my code then goes on to access elements and > attributes in the resulting document. If I use this code outside > of the > Ruby on Rails environment, I never have any segfaults and everything > works as expected. For some reason when I call this code from > within a > rails controller however, I get a segfault accessing an attribute. If > in my controller I disable garbage collection prior to executing this > code and re-enable it afterwards, the segfault goes away. I am using > libxml version 0.5.1.0, ruby 1.8.6, and rails 1.2.3 on a Fedora Core 4 > machine. I'm pretty new to Ruby so I don't know how to dig much > further > into this, but if anyone has any suggestions based on the code and > backtrace below, I'd be happy to experiment more to get to the > bottom of > it. I'm also not sure if this is a known issue or not... I found an > archive post from Tue Sep 11 19:32:54 EDT 2007 that contains a very > similar looking backtrace from some unit tests. > > Thanks in advance, > Calvin > > require 'rubygems' > require 'xml/libxml' > > module TAP > class Config > > def initialize(data) > parser = XML::Parser.new > parser.string = data > @doc = parser.parse > end > > def get_attribute(elem, attribute) > elem.property(attribute) > end > > def each_tap(&block) > @doc.find('//rfx-list/rfx').each do |elem| > yield(elem) > end > end > > def each_reader(&block) > @doc.find('//reader-table/reader-instance').each do |elem| > yield(elem) > end > end > > def each_antenna(reader, &block) > xpath = '//reader-table/reader-instance[@hostname="' + reader + > '"]/read-point' > @doc.find(xpath).each do |elem| > yield(elem) > end > end > > def facility_info(attribute) > elem = @doc.find('//facility-info').first > return elem.property(attribute) > end > > def version_info(attribute) > elem = @doc.find('//global-config/version').first > return elem.property(attribute) > end > > def port1_service_info(attribute) > elem = @doc.find('//port1-service').first > return elem.property(attribute) > end > > def stats_service_info(attribute) > elem = @doc.find('//stats-service').first > return elem.property(attribute) > end > > def tap_info_from_attrib(attrib, value, attrib2) > xpath = '//rfx-list/rfx[@' + attrib + '="' + value.to_s + '"]' > elem = @doc.find(xpath).first > return elem.property(attrib2) # This line is where the segfault > always occurs > end > > end > end > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1208695104 (LWP 12060)] > 0x00aaa327 in st_lookup (table=0x0, key=75257, value=0xbfb2af98) at > st.c:250 > 250 hash_val = do_hash(key, table); > (gdb) where > #0 0x00aaa327 in st_lookup (table=0x0, key=75257, > value=0xbfb2af98) at > st.c:250 > #1 0x00a46009 in search_method (klass=3066535480, id=75257, > origin=0xbfb2afc8) at eval.c:475 > #2 0x00a46066 in rb_get_method_body (klassp=0xbfb2afe8, > idp=0xbfb2aff4, > noexp=0xbfb2aff8) at eval.c:496 > #3 0x00a520d0 in rb_call (klass=3066535480, recv=3066535500, > mid=75257, > argc=1, argv=0xbfb2b020, scope=0, self=3066724260) at eval.c:6037 > #4 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3447 > #5 0x00a4f3ed in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3391 > #6 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #7 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, > mid=105513, argc=3, argv=0xbfb2b920, scope=0, self=3066881040) at > eval.c:6062 > #8 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3447 > #9 0x00a4f216 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3638 > #10 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #11 0x00a4f80b in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3252 > #12 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #13 0x00a557a2 in rb_yield (val=3067281580) at eval.c:5073 > #14 0x002d038d in ruby_xml_node_set_each (self=3066278320) at > ruby_xml_node_set.c:70 > #15 0x00a470c7 in call_cfunc (func=0x2d0334 , > recv=3066278320, len=Variable "len" is not available. > ) at eval.c:5662 > #16 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #17 0x00a52106 in rb_call (klass=3064869880, recv=3066278320, > mid=3841, > argc=0, argv=0x0, scope=0, self=3066724260) at eval.c:6062 > #18 0x00a4e129 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3447 > #19 0x00a50e99 in rb_eval (self=3066724260, n=Variable "n" is not > available. > ) at eval.c:3177 > #20 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #21 0x00a52106 in rb_call (klass=3064843440, recv=3066724260, > mid=105457, argc=0, argv=0x0, scope=0, self=3066881040) at eval.c:6062 > #22 0x00a4e129 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3447 > #23 0x00a50e99 in rb_eval (self=3066881040, n=Variable "n" is not > available. > ) at eval.c:3177 > #24 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #25 0x00a52106 in rb_call (klass=3066957560, recv=3066881040, > mid=109993, argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #26 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #27 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #28 0x00a4f80b in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3252 > #29 0x00a50674 in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3263 > #30 0x00a50a62 in rb_eval (self=3064541760, n=Variable "n" is not > available. > ) at eval.c:3311 > #31 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #32 0x00a52106 in rb_call (klass=3084666240, recv=3064541760, > mid=55513, > argc=1, argv=0xbfb2ec80, scope=0, self=3066957560) at eval.c:6062 > #33 0x00a4e129 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3447 > #34 0x00a5951d in block_pass (self=3066957560, node=0xb7d2c848) at > eval.c:8871 > #35 0x00a4ec5a in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3163 > #36 0x00a4ecb7 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3628 > #37 0x00a50674 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3263 > #38 0x00a50a62 in rb_eval (self=3066957560, n=Variable "n" is not > available. > ) at eval.c:3311 > #39 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #40 0x00a52106 in rb_call (klass=3082903880, recv=3066957560, > mid=55513, > argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #41 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #42 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #43 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3263 > #44 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #45 0x00a52106 in rb_call (klass=3067292140, recv=3067187700, > mid=12585, > argc=0, argv=0xbfb30fd4, scope=1, self=6) at eval.c:6062 > #46 0x00a52789 in rb_f_send (argc=0, argv=0xbfb30fd4, recv=3067187700) > at eval.c:6110 > #47 0x00a470d6 in call_cfunc (func=0xa526e4 , > recv=3067187700, len=Variable "len" is not available. > ) at eval.c:5659 > #48 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #49 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, > mid=4049, > argc=1, argv=0xbfb30fd0, scope=1, self=3067187700) at eval.c:6062 > #50 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #51 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #52 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, > mid=69129, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #53 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #54 0x00a4f3ed in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3391 > ---Type to continue, or q to quit--- > #55 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #56 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=69097, > argc=2, argv=0xbfb31e70, scope=1, self=3067187700) at eval.c:6062 > #57 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #58 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3628 > #59 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #60 0x00a4f80b in rb_eval (self=3067201880, n=Variable "n" is not > available. > ) at eval.c:3252 > #61 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #62 0x00a52106 in rb_call (klass=3069246260, recv=3067201880, > mid=5265, > argc=1, argv=0xbfb32ca0, scope=0, self=3067187700) at eval.c:6062 > #63 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #64 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #65 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #66 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=69097, > argc=2, argv=0xbfb335a0, scope=1, self=3067187700) at eval.c:6062 > #67 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #68 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #69 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=68481, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #70 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #71 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #72 0x00a4f80b in rb_eval (self=3082623920, n=Variable "n" is not > available. > ) at eval.c:3252 > #73 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #74 0x00a52106 in rb_call (klass=3082623820, recv=3082623920, > mid=57129, > argc=0, argv=0x0, scope=0, self=3067187700) at eval.c:6062 > #75 0x00a4e129 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3447 > #76 0x00a50e99 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3177 > #77 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3441 > #78 0x00a4f5d1 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3796 > #79 0x00a4e04d in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3441 > #80 0x00a4ecb7 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3628 > #81 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #82 0x00a52106 in rb_call (klass=3069373060, recv=3067187700, > mid=68377, > argc=0, argv=0x0, scope=2, self=3067187700) at eval.c:6062 > #83 0x00a4f69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #84 0x00a50674 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3263 > #85 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #86 0x00a52106 in rb_call (klass=3069373020, recv=3067187700, > mid=63513, > argc=0, argv=0xbfb36764, scope=1, self=6) at eval.c:6062 > #87 0x00a52789 in rb_f_send (argc=0, argv=0xbfb36764, recv=3067187700) > at eval.c:6110 > #88 0x00a470d6 in call_cfunc (func=0xa526e4 , > recv=3067187700, len=Variable "len" is not available. > ) at eval.c:5659 > #89 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #90 0x00a52106 in rb_call (klass=3086269600, recv=3067187700, > mid=4049, > argc=1, argv=0xbfb36760, scope=1, self=3067187700) at eval.c:6062 > #91 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #92 0x00a50a62 in rb_eval (self=3067187700, n=Variable "n" is not > available. > ) at eval.c:3311 > #93 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #94 0x00a52106 in rb_call (klass=3069491860, recv=3067187700, > mid=69121, > argc=3, argv=0xbfb370a0, scope=1, self=3067187700) at eval.c:6062 > #95 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #96 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #97 0x00a52106 in rb_call (klass=3069373080, recv=3067187700, > mid=71297, > argc=3, argv=0xbfb37690, scope=1, self=3067187700) at eval.c:6062 > #98 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #99 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #100 0x00a52106 in rb_call (klass=3069365640, recv=3067187700, > mid=30209, argc=2, argv=0xbfb37ca0, scope=0, self=3067292140) at > eval.c:6062 > #101 0x00a4e129 in rb_eval (self=3067292140, n=Variable "n" is not > available. > ) at eval.c:3447 > #102 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #103 0x00a52106 in rb_call (klass=3069491740, recv=3067292140, > mid=30209, argc=2, argv=0xbfb38290, scope=0, self=3066460360) at > eval.c:6062 > #104 0x00a4e129 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3447 > #105 0x00a4e04d in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3441 > #106 0x00a50674 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3263 > #107 0x00a50a62 in rb_eval (self=3066460360, n=Variable "n" is not > available. > ) at eval.c:3311 > #108 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #109 0x00a52106 in rb_call (klass=3066460340, recv=3066460360, > mid=49913, argc=3, argv=0xbfb391c0, scope=0, self=3066433580) at > eval.c:6062 > ---Type to continue, or q to quit--- > #110 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3447 > #111 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #112 0x00a557a2 in rb_yield (val=6) at eval.c:5073 > #113 0x00a4c071 in rb_ensure (b_proc=0xa5578c , data1=6, > e_proc=0x27e4c8 , data2=3066433460) at eval.c:5456 > #114 0x0027e5f2 in rb_mutex_synchronize (self=3066433460) at > fastthread.c:526 > #115 0x00a470c7 in call_cfunc (func=0x27e5c0 , > recv=3066433460, len=Variable "len" is not available. > ) at eval.c:5662 > #116 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #117 0x00a52106 in rb_call (klass=3082897400, recv=3066433460, > mid=11689, argc=0, argv=0x0, scope=0, self=3066433580) at eval.c:6062 > #118 0x00a4e129 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3447 > #119 0x00a50e99 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3177 > #120 0x00a50674 in rb_eval (self=3066433580, n=Variable "n" is not > available. > ) at eval.c:3263 > #121 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #122 0x00a52106 in rb_call (klass=3084096460, recv=3066433580, > mid=30209, argc=2, argv=0xbfb3a820, scope=0, self=3083412160) at > eval.c:6062 > #123 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #124 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #125 0x00a557a2 in rb_yield (val=3066433580) at eval.c:5073 > #126 0x00a3614a in rb_ary_each (ary=3066433300) at array.c:1138 > #127 0x00a470c7 in call_cfunc (func=0xa3610c , > recv=3066433300, len=Variable "len" is not available. > ) at eval.c:5662 > #128 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #129 0x00a52106 in rb_call (klass=3086238940, recv=3066433300, > mid=3841, > argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 > #130 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #131 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #132 0x00a4df66 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:2919 > #133 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3101 > #134 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3263 > #135 0x00a50a62 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3311 > #136 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #137 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, > mid=45561, argc=1, argv=0xbfb3c620, scope=1, self=3083412160) at > eval.c:6062 > #138 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #139 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #140 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , > arg=0xb6b314b8, th=0xaac5ce8) at eval.c:11878 > #141 0x00a46fc8 in call_cfunc (func=0xa5d190 , > recv=3065189580, len=Variable "len" is not available. > ) at eval.c:5656 > #142 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #143 0x00a52106 in rb_call (klass=3086253940, recv=3065189580, > mid=2961, > argc=1, argv=0xbfb3d3b0, scope=1, self=6) at eval.c:6062 > #144 0x00a52a0d in rb_obj_call_init (obj=3065189580, argc=1, > argv=0xbfb3d3b0) at eval.c:7594 > #145 0x00a52a53 in rb_thread_s_new (argc=1, argv=0xbfb3d3b0, > klass=3086253940) at eval.c:11991 > #146 0x00a470d6 in call_cfunc (func=0xa52a20 , > recv=3086253940, len=Variable "len" is not available. > ) at eval.c:5659 > #147 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #148 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, > mid=3353, > argc=1, argv=0xbfb3d3b0, scope=0, self=3083412160) at eval.c:6062 > #149 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > #150 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #151 0x00a4f216 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3638 > #152 0x00a50674 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3263 > #153 0x00a4e3a7 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3101 > #154 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #155 0x00a5d10a in rb_thread_start_0 (fn=0xa54a28 , > arg=0xb6c104ec, th=0xa234868) at eval.c:11878 > #156 0x00a46fc8 in call_cfunc (func=0xa5d190 , > recv=3066103040, len=Variable "len" is not available. > ) at eval.c:5656 > #157 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #158 0x00a52106 in rb_call (klass=3086253940, recv=3066103040, > mid=2961, > argc=0, argv=0x0, scope=1, self=6) at eval.c:6062 > #159 0x00a52a0d in rb_obj_call_init (obj=3066103040, argc=0, argv=0x0) > at eval.c:7594 > #160 0x00a52a53 in rb_thread_s_new (argc=0, argv=0x0, > klass=3086253940) > at eval.c:11991 > #161 0x00a470d6 in call_cfunc (func=0xa52a20 , > recv=3086253940, len=Variable "len" is not available. > ) at eval.c:5659 > #162 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #163 0x00a52106 in rb_call (klass=3086253920, recv=3086253940, > mid=3353, > argc=0, argv=0x0, scope=0, self=3083412160) at eval.c:6062 > #164 0x00a4e129 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3447 > ---Type to continue, or q to quit--- > #165 0x00a50e99 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3177 > #166 0x00a4ef97 in rb_eval (self=3083412160, n=Variable "n" is not > available. > ) at eval.c:3648 > #167 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #168 0x00a52106 in rb_call (klass=3081864000, recv=3083412160, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 > #169 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3447 > #170 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #171 0x00a557a2 in rb_yield (val=3066103220) at eval.c:5073 > #172 0x00a658e9 in each_i (key=3083412000, value=3083412160) at > hash.c:1119 > #173 0x00a64c74 in hash_foreach_iter (key=3083412000, > value=3083412160, > arg=0xbfb40118) at hash.c:170 > #174 0x00aaa9cf in st_foreach (table=0xa2e1100, func=0xa64c44 > , arg=3216245016) at st.c:487 > #175 0x00a64d88 in hash_foreach_call (arg=0xbfb40118) at hash.c:205 > #176 0x00a4c071 in rb_ensure (b_proc=0xa64d60 , > data1=3216245016, e_proc=0xa64cfc , > data2=3083412920) > at eval.c:5456 > #177 0x00a64df0 in rb_hash_foreach (hash=3083412920, func=0xa658bc > , farg=0) at hash.c:223 > #178 0x00a65918 in rb_hash_each (hash=3083412920) at hash.c:1147 > #179 0x00a470c7 in call_cfunc (func=0xa658f4 , > recv=3083412920, len=Variable "len" is not available. > ) at eval.c:5662 > #180 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #181 0x00a52106 in rb_call (klass=3086235920, recv=3083412920, > mid=3841, > argc=0, argv=0x0, scope=0, self=3083413260) at eval.c:6062 > #182 0x00a4e129 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3447 > #183 0x00a50e99 in rb_eval (self=3083413260, n=Variable "n" is not > available. > ) at eval.c:3177 > #184 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #185 0x00a52106 in rb_call (klass=3081915660, recv=3083413260, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083476520) at eval.c:6062 > #186 0x00a4e129 in rb_eval (self=3083476520, n=Variable "n" is not > available. > ) at eval.c:3447 > #187 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #188 0x00a52106 in rb_call (klass=3085655540, recv=3083476520, > mid=5137, > argc=0, argv=0x0, scope=0, self=3083476960) at eval.c:6062 > #189 0x00a4e129 in rb_eval (self=3083476960, n=Variable "n" is not > available. > ) at eval.c:3447 > #190 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #191 0x00a52106 in rb_call (klass=3082016240, recv=3083476960, > mid=5137, > argc=1, argv=0xbfb41870, scope=0, self=3086264740) at eval.c:6062 > #192 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #193 0x00a5004f in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3008 > #194 0x00a5c29e in rb_load (fname=3084514580, wrap=0) at eval.c:6857 > #195 0x00a5c3a1 in rb_f_load (argc=1, argv=0xbfb424c0) at eval.c:6925 > #196 0x00a470d6 in call_cfunc (func=0xa5c35c , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5659 > #197 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #198 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9737, > argc=1, argv=0xbfb424c0, scope=3, self=6) at eval.c:6062 > #199 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb424c0) at > eval.c:6230 > #200 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3509 > #201 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #202 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3252 > #203 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #204 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #205 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #206 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, > mid=41161, argc=1, argv=0xbfb43640, scope=0, self=3086264740) at > eval.c:6062 > #207 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #208 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3177 > #209 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #210 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #211 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, > mid=9737, > argc=1, argv=0xbfb44250, scope=1, self=3086264740) at eval.c:6062 > #212 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #213 0x00a50a62 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3311 > #214 0x00a5c29e in rb_load (fname=3081847160, wrap=0) at eval.c:6857 > #215 0x00a5c729 in rb_require_safe (fname=3081851960, safe=0) at > eval.c:7213 > #216 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3081854840) at > eval.c:7106 > #217 0x00a470b8 in call_cfunc (func=0xa5c9a0 , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5665 > #218 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > ---Type to continue, or q to quit--- > #219 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, > mid=30129, argc=1, argv=0xbfb450c0, scope=1, self=3086264740) at > eval.c:6062 > #220 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #221 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #222 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #223 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb45a00, scope=3, self=6) at eval.c:6062 > #224 0x00a571d5 in rb_call_super (argc=1, argv=0xbfb45a00) at > eval.c:6230 > #225 0x00a4f57d in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3509 > #226 0x00a54501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #227 0x00a4f80b in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3252 > #228 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #229 0x00a50a62 in rb_eval (self=3083950520, n=Variable "n" is not > available. > ) at eval.c:3311 > #230 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #231 0x00a52106 in rb_call (klass=3083950380, recv=3083950520, > mid=41161, argc=1, argv=0xbfb46b80, scope=0, self=3086264740) at > eval.c:6062 > #232 0x00a4e129 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3447 > #233 0x00a50e99 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3177 > #234 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #235 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #236 0x00a52106 in rb_call (klass=3086269740, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb47790, scope=1, self=3086264740) at eval.c:6062 > #237 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #238 0x00a5c29e in rb_load (fname=3084464920, wrap=0) at eval.c:6857 > #239 0x00a5c729 in rb_require_safe (fname=3086200040, safe=0) at > eval.c:7213 > #240 0x00a5c9c3 in rb_f_require (obj=3086264740, fname=3084651160) at > eval.c:7106 > #241 0x00a470b8 in call_cfunc (func=0xa5c9a0 , > recv=3086264740, len=Variable "len" is not available. > ) at eval.c:5665 > #242 0x00a514dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #243 0x00a52106 in rb_call (klass=3086269620, recv=3086264740, > mid=30129, argc=1, argv=0xbfb48210, scope=1, self=3086264740) at > eval.c:6062 > #244 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #245 0x00a50674 in rb_eval (self=3086264740, n=Variable "n" is not > available. > ) at eval.c:3263 > #246 0x00a51dbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #247 0x00a52106 in rb_call (klass=3086269600, recv=3086264740, > mid=9745, > argc=1, argv=0xbfb48b10, scope=1, self=3086264740) at eval.c:6062 > #248 0x00a4e23f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #249 0x00a5b345 in ruby_exec_internal () at eval.c:1608 > #250 0x00a5b381 in ruby_exec () at eval.c:1628 > #251 0x00a5d29c in ruby_run () at eval.c:1638 > #252 0x08048669 in main (argc=Could not find the frame base for > "main". > ) at main.c:48 > > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From danj at 3skel.com Fri Sep 21 12:20:42 2007 From: danj at 3skel.com (Dan Janowski) Date: Fri, 21 Sep 2007 12:20:42 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F3D5BC.9020808@revasystems.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> Message-ID: <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> 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 On Sep 21, 2007, at 10:31, Calvin Bascom wrote: > I am still getting a segfault with these changes, but not the same > one. It is segfaulting on the line just previous to the one that > it used to segfault on. Here is the new backtrace for this one: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1209047360 (LWP 31775)] > 0x008a532c in st_lookup (table=0x9e69e4, key=2889, > value=0xbfcd7a78) at st.c:250 > 250 hash_val = do_hash(key, table); > (gdb) bt > #0 0x008a532c in st_lookup (table=0x9e69e4, key=2889, > value=0xbfcd7a78) at st.c:250 > #1 0x008b3e02 in classname (klass=3066185200) at variable.c:151 > #2 0x008b4279 in rb_class_path (klass=3066185200) at variable.c:190 > #3 0x008b43d7 in rb_class_name (klass=3066185200) at variable.c:289 > #4 0x008b43f7 in rb_class2name (klass=3066185200) at variable.c:296 > #5 0x008b4d85 in rb_obj_classname (obj=3066185220) at variable.c:303 > #6 0x008408f4 in rb_check_type (x=3066185220, t=34) at error.c:276 > #7 0x009e21b2 in ruby_xml_xpath_find (argc=2, argv=0x8b12ab0, > class=3064317300) at ruby_xml_xpath.c:102 > #8 0x009e262e in ruby_xml_xpath_find2 (argc=2, argv=0x8b12ab0) at > ruby_xml_xpath.c:212 > #9 0x009de263 in ruby_xml_document_find (argc=1, argv=0xbfcd7ec0, > self=3066185280) at ruby_xml_document.c:408 > #10 0x008420d6 in call_cfunc (func=0x9de1ec > , recv=3066185280, len=Variable "len" is > not available. > ) at eval.c:5659 > #11 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #12 0x0084d106 in rb_call (klass=3064324820, recv=3066185280, > mid=3713, argc=1, argv=0xbfcd7ec0, scope=0, self=3066185360) at > eval.c:6062 > #13 0x00849129 in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3447 > #14 0x0084904d in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3441 > #15 0x00849cb7 in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3628 > #16 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #17 0x0084d106 in rb_call (klass=3064292640, recv=3066185360, > mid=105513, argc=3, argv=0xbfcd8ad0, scope=0, self=3066341040) at > eval.c:6062 > #18 0x00849129 in rb_eval (self=3066341040, n=Variable "n" is not > available. > ) at eval.c:3447 > #19 0x0084a216 in rb_eval (self=3066341040, n=Variable "n" is not > available. > ) at eval.c:3638 > #20 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #21 0x0084a80b in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3252 > #22 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #23 0x008507a2 in rb_yield (val=3066843900) at eval.c:5073 > #24 0x009db091 in ruby_xml_xpath_object_each (self=3065745340) at > ruby_xml_xpath_object.c:143 > #25 0x008420c7 in call_cfunc (func=0x9db028 > , recv=3065745340, len=Variable "len" > is not available. > ) at eval.c:5662 > #26 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #27 0x0084d106 in rb_call (klass=3064317020, recv=3065745340, > mid=3841, argc=0, argv=0x0, scope=0, self=3066185360) at eval.c:6062 > #28 0x00849129 in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3447 > #29 0x0084be99 in rb_eval (self=3066185360, n=Variable "n" is not > available. > ) at eval.c:3177 > #30 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #31 0x0084d106 in rb_call (klass=3064292640, recv=3066185360, > mid=105457, argc=0, argv=0x0, scope=0, self=3066341040) at eval.c:6062 > #32 0x00849129 in rb_eval (self=3066341040, n=Variable "n" is not > available. > ) at eval.c:3447 > #33 0x0084be99 in rb_eval (self=3066341040, n=Variable "n" is not > available. > ) at eval.c:3177 > #34 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #35 0x0084d106 in rb_call (klass=3066417540, recv=3066341040, > mid=109993, argc=0, argv=0x0, scope=0, self=3066650420) at eval.c:6062 > #36 0x00849129 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3447 > #37 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #38 0x0084a80b in rb_eval (self=3063991000, n=Variable "n" is not > available. > ) at eval.c:3252 > #39 0x0084b674 in rb_eval (self=3063991000, n=Variable "n" is not > available. > ) at eval.c:3263 > #40 0x0084ba62 in rb_eval (self=3063991000, n=Variable "n" is not > available. > ) at eval.c:3311 > #41 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #42 0x0084d106 in rb_call (klass=3084314720, recv=3063991000, > mid=55513, argc=1, argv=0xbfcdbe30, scope=0, self=3066417540) at > eval.c:6062 > #43 0x00849129 in rb_eval (self=3066417540, n=Variable "n" is not > available. > ) at eval.c:3447 > #44 0x0085451d in block_pass (self=3066417540, node=0xb7cd6984) at > eval.c:8871 > #45 0x00849c5a in rb_eval (self=3066417540, n=Variable "n" is not > available. > ) at eval.c:3163 > #46 0x00849cb7 in rb_eval (self=3066417540, n=Variable "n" is not > available. > ) at eval.c:3628 > #47 0x0084b674 in rb_eval (self=3066417540, n=Variable "n" is not > available. > ) at eval.c:3263 > #48 0x0084ba62 in rb_eval (self=3066417540, n=Variable "n" is not > available. > ) at eval.c:3311 > #49 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #50 0x0084d106 in rb_call (klass=3082551800, recv=3066417540, > mid=55513, argc=0, argv=0x0, scope=0, self=3066650420) at eval.c:6062 > #51 0x00849129 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3447 > #52 0x0084be99 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3177 > #53 0x0084b674 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3263 > #54 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > ---Type to continue, or q to quit--- > #55 0x0084d106 in rb_call (klass=3066752120, recv=3066650420, > mid=12585, argc=0, argv=0xbfcde184, scope=1, self=6) at eval.c:6062 > #56 0x0084d789 in rb_f_send (argc=0, argv=0xbfcde184, > recv=3066650420) at eval.c:6110 > #57 0x008420d6 in call_cfunc (func=0x84d6e4 , > recv=3066650420, len=Variable "len" is not available. > ) at eval.c:5659 > #58 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #59 0x0084d106 in rb_call (klass=3085917340, recv=3066650420, > mid=4049, argc=1, argv=0xbfcde180, scope=1, self=3066650420) at > eval.c:6062 > #60 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #61 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #62 0x0084d106 in rb_call (klass=3069139820, recv=3066650420, > mid=69129, argc=0, argv=0x0, scope=2, self=3066650420) at eval.c:6062 > #63 0x0084a69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #64 0x0084a3ed in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3391 > #65 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #66 0x0084d106 in rb_call (klass=3069020900, recv=3066650420, > mid=69097, argc=2, argv=0xbfcdf020, scope=1, self=3066650420) at > eval.c:6062 > #67 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #68 0x00849cb7 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3628 > #69 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #70 0x0084a80b in rb_eval (self=3066664380, n=Variable "n" is not > available. > ) at eval.c:3252 > #71 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #72 0x0084d106 in rb_call (klass=3068894220, recv=3066664380, > mid=5265, argc=1, argv=0xbfcdfe50, scope=0, self=3066650420) at > eval.c:6062 > #73 0x00849129 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3447 > #74 0x0084be99 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3177 > #75 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #76 0x0084d106 in rb_call (klass=3069020900, recv=3066650420, > mid=69097, argc=2, argv=0xbfce0750, scope=1, self=3066650420) at > eval.c:6062 > #77 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #78 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #79 0x0084d106 in rb_call (klass=3069020900, recv=3066650420, > mid=68481, argc=0, argv=0x0, scope=2, self=3066650420) at eval.c:6062 > #80 0x0084a69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #81 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #82 0x0084a80b in rb_eval (self=3082271840, n=Variable "n" is not > available. > ) at eval.c:3252 > #83 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #84 0x0084d106 in rb_call (klass=3082271740, recv=3082271840, > mid=57129, argc=0, argv=0x0, scope=0, self=3066650420) at eval.c:6062 > #85 0x00849129 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3447 > #86 0x0084be99 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3177 > #87 0x0084904d in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3441 > #88 0x0084a5d1 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3796 > #89 0x0084904d in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3441 > #90 0x00849cb7 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3628 > #91 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #92 0x0084d106 in rb_call (klass=3069020880, recv=3066650420, > mid=68377, argc=0, argv=0x0, scope=2, self=3066650420) at eval.c:6062 > #93 0x0084a69e in rb_eval (self=Variable "self" is not available. > ) at eval.c:3468 > #94 0x0084b674 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3263 > #95 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #96 0x0084d106 in rb_call (klass=3069020840, recv=3066650420, > mid=63513, argc=0, argv=0xbfce3914, scope=1, self=6) at eval.c:6062 > #97 0x0084d789 in rb_f_send (argc=0, argv=0xbfce3914, > recv=3066650420) at eval.c:6110 > #98 0x008420d6 in call_cfunc (func=0x84d6e4 , > recv=3066650420, len=Variable "len" is not available. > ) at eval.c:5659 > #99 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #100 0x0084d106 in rb_call (klass=3085917340, recv=3066650420, > mid=4049, argc=1, argv=0xbfce3910, scope=1, self=3066650420) at > eval.c:6062 > #101 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #102 0x0084ba62 in rb_eval (self=3066650420, n=Variable "n" is not > available. > ) at eval.c:3311 > #103 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #104 0x0084d106 in rb_call (klass=3069139820, recv=3066650420, > mid=69121, argc=3, argv=0xbfce4250, scope=1, self=3066650420) at > eval.c:6062 > #105 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #106 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #107 0x0084d106 in rb_call (klass=3069020900, recv=3066650420, > mid=71297, argc=3, argv=0xbfce4840, scope=1, self=3066650420) at > eval.c:6062 > #108 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #109 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > ---Type to continue, or q to quit--- > #110 0x0084d106 in rb_call (klass=3069013460, recv=3066650420, > mid=30209, argc=2, argv=0xbfce4e50, scope=0, self=3066752120) at > eval.c:6062 > #111 0x00849129 in rb_eval (self=3066752120, n=Variable "n" is not > available. > ) at eval.c:3447 > #112 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #113 0x0084d106 in rb_call (klass=3069139700, recv=3066752120, > mid=30209, argc=2, argv=0xbfce5440, scope=0, self=3065909660) at > eval.c:6062 > #114 0x00849129 in rb_eval (self=3065909660, n=Variable "n" is not > available. > ) at eval.c:3447 > #115 0x0084904d in rb_eval (self=3065909660, n=Variable "n" is not > available. > ) at eval.c:3441 > #116 0x0084b674 in rb_eval (self=3065909660, n=Variable "n" is not > available. > ) at eval.c:3263 > #117 0x0084ba62 in rb_eval (self=3065909660, n=Variable "n" is not > available. > ) at eval.c:3311 > #118 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #119 0x0084d106 in rb_call (klass=3065909640, recv=3065909660, > mid=49913, argc=3, argv=0xbfce6370, scope=0, self=3065882880) at > eval.c:6062 > #120 0x00849129 in rb_eval (self=3065882880, n=Variable "n" is not > available. > ) at eval.c:3447 > #121 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #122 0x008507a2 in rb_yield (val=6) at eval.c:5073 > #123 0x00847071 in rb_ensure (b_proc=0x85078c , data1=6, > e_proc=0x22b4c8 , data2=3065882760) at eval.c:5456 > #124 0x0022b5f2 in rb_mutex_synchronize (self=3065882760) at > fastthread.c:526 > #125 0x008420c7 in call_cfunc (func=0x22b5c0 > , recv=3065882760, len=Variable "len" is not > available. > ) at eval.c:5662 > #126 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #127 0x0084d106 in rb_call (klass=3082545160, recv=3065882760, > mid=11689, argc=0, argv=0x0, scope=0, self=3065882880) at eval.c:6062 > #128 0x00849129 in rb_eval (self=3065882880, n=Variable "n" is not > available. > ) at eval.c:3447 > #129 0x0084be99 in rb_eval (self=3065882880, n=Variable "n" is not > available. > ) at eval.c:3177 > #130 0x0084b674 in rb_eval (self=3065882880, n=Variable "n" is not > available. > ) at eval.c:3263 > #131 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #132 0x0084d106 in rb_call (klass=3083744240, recv=3065882880, > mid=30209, argc=2, argv=0xbfce79d0, scope=0, self=3083060300) at > eval.c:6062 > #133 0x00849129 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3447 > #134 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #135 0x008507a2 in rb_yield (val=3065882880) at eval.c:5073 > #136 0x0083114a in rb_ary_each (ary=3065882600) at array.c:1138 > #137 0x008420c7 in call_cfunc (func=0x83110c , > recv=3065882600, len=Variable "len" is not available. > ) at eval.c:5662 > #138 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #139 0x0084d106 in rb_call (klass=3085886680, recv=3065882600, > mid=3841, argc=0, argv=0x0, scope=0, self=3083060300) at eval.c:6062 > #140 0x00849129 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3447 > #141 0x0084be99 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3177 > #142 0x00848f66 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:2919 > #143 0x008493a7 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3101 > #144 0x0084b674 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3263 > #145 0x0084ba62 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3311 > #146 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #147 0x0084d106 in rb_call (klass=3081511760, recv=3083060300, > mid=45561, argc=1, argv=0xbfce97d0, scope=1, self=3083060300) at > eval.c:6062 > #148 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #149 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #150 0x0085810a in rb_thread_start_0 (fn=0x84fa28 > , arg=0xb6aae0cc, th=0x9256fd0) at eval.c:11878 > #151 0x00841fc8 in call_cfunc (func=0x858190 > , recv=3064652000, len=Variable "len" is not > available. > ) at eval.c:5656 > #152 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #153 0x0084d106 in rb_call (klass=3085901680, recv=3064652000, > mid=2961, argc=1, argv=0xbfcea560, scope=1, self=6) at eval.c:6062 > #154 0x0084da0d in rb_obj_call_init (obj=3064652000, argc=1, > argv=0xbfcea560) at eval.c:7594 > #155 0x0084da53 in rb_thread_s_new (argc=1, argv=0xbfcea560, > klass=3085901680) at eval.c:11991 > #156 0x008420d6 in call_cfunc (func=0x84da20 , > recv=3085901680, len=Variable "len" is not available. > ) at eval.c:5659 > #157 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #158 0x0084d106 in rb_call (klass=3085901660, recv=3085901680, > mid=3353, argc=1, argv=0xbfcea560, scope=0, self=3083060300) at > eval.c:6062 > #159 0x00849129 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3447 > #160 0x0084be99 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3177 > #161 0x0084a216 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3638 > #162 0x0084b674 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3263 > #163 0x008493a7 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3101 > #164 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > ---Type to continue, or q to quit--- > #165 0x0085810a in rb_thread_start_0 (fn=0x84fa28 > , arg=0xb6b89dc0, th=0x87fb5b8) at eval.c:11878 > #166 0x00841fc8 in call_cfunc (func=0x858190 > , recv=3065552340, len=Variable "len" is not > available. > ) at eval.c:5656 > #167 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #168 0x0084d106 in rb_call (klass=3085901680, recv=3065552340, > mid=2961, argc=0, argv=0x0, scope=1, self=6) at eval.c:6062 > #169 0x0084da0d in rb_obj_call_init (obj=3065552340, argc=0, > argv=0x0) at eval.c:7594 > #170 0x0084da53 in rb_thread_s_new (argc=0, argv=0x0, > klass=3085901680) at eval.c:11991 > #171 0x008420d6 in call_cfunc (func=0x84da20 , > recv=3085901680, len=Variable "len" is not available. > ) at eval.c:5659 > #172 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #173 0x0084d106 in rb_call (klass=3085901660, recv=3085901680, > mid=3353, argc=0, argv=0x0, scope=0, self=3083060300) at eval.c:6062 > #174 0x00849129 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3447 > #175 0x0084be99 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3177 > #176 0x00849f97 in rb_eval (self=3083060300, n=Variable "n" is not > available. > ) at eval.c:3648 > #177 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #178 0x0084d106 in rb_call (klass=3081511760, recv=3083060300, > mid=5137, argc=0, argv=0x0, scope=0, self=3083061140) at eval.c:6062 > #179 0x00849129 in rb_eval (self=3083061140, n=Variable "n" is not > available. > ) at eval.c:3447 > #180 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #181 0x008507a2 in rb_yield (val=3065552520) at eval.c:5073 > #182 0x008608e9 in each_i (key=3083059820, value=3083060300) at > hash.c:1119 > #183 0x0085fc74 in hash_foreach_iter (key=3083059820, > value=3083060300, arg=0xbfced2c8) at hash.c:170 > #184 0x008a59cf in st_foreach (table=0x89b6628, func=0x85fc44 > , arg=3218002632) at st.c:487 > #185 0x0085fd88 in hash_foreach_call (arg=0xbfced2c8) at hash.c:205 > #186 0x00847071 in rb_ensure (b_proc=0x85fd60 , > data1=3218002632, e_proc=0x85fcfc , > data2=3083061020) > at eval.c:5456 > #187 0x0085fdf0 in rb_hash_foreach (hash=3083061020, func=0x8608bc > , farg=0) at hash.c:223 > #188 0x00860918 in rb_hash_each (hash=3083061020) at hash.c:1147 > #189 0x008420c7 in call_cfunc (func=0x8608f4 , > recv=3083061020, len=Variable "len" is not available. > ) at eval.c:5662 > #190 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #191 0x0084d106 in rb_call (klass=3085883660, recv=3083061020, > mid=3841, argc=0, argv=0x0, scope=0, self=3083061140) at eval.c:6062 > #192 0x00849129 in rb_eval (self=3083061140, n=Variable "n" is not > available. > ) at eval.c:3447 > #193 0x0084be99 in rb_eval (self=3083061140, n=Variable "n" is not > available. > ) at eval.c:3177 > #194 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #195 0x0084d106 in rb_call (klass=3081563420, recv=3083061140, > mid=5137, argc=0, argv=0x0, scope=0, self=3083124340) at eval.c:6062 > #196 0x00849129 in rb_eval (self=3083124340, n=Variable "n" is not > available. > ) at eval.c:3447 > #197 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #198 0x0084d106 in rb_call (klass=3085303400, recv=3083124340, > mid=5137, argc=0, argv=0x0, scope=0, self=3083124780) at eval.c:6062 > #199 0x00849129 in rb_eval (self=3083124780, n=Variable "n" is not > available. > ) at eval.c:3447 > #200 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #201 0x0084d106 in rb_call (klass=3081664000, recv=3083124780, > mid=5137, argc=1, argv=0xbfceea20, scope=0, self=3085912480) at > eval.c:6062 > #202 0x00849129 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3447 > #203 0x0084b04f in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3008 > #204 0x0085729e in rb_load (fname=3084162560, wrap=0) at eval.c:6857 > #205 0x008573a1 in rb_f_load (argc=1, argv=0xbfcef670) at eval.c:6925 > #206 0x008420d6 in call_cfunc (func=0x85735c , > recv=3085912480, len=Variable "len" is not available. > ) at eval.c:5659 > #207 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #208 0x0084d106 in rb_call (klass=3085917340, recv=3085912480, > mid=9737, argc=1, argv=0xbfcef670, scope=3, self=6) at eval.c:6062 > #209 0x008521d5 in rb_call_super (argc=1, argv=0xbfcef670) at > eval.c:6230 > #210 0x0084a57d in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3509 > #211 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #212 0x0084a80b in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3252 > #213 0x0084ba62 in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3311 > #214 0x0084ba62 in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3311 > #215 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #216 0x0084d106 in rb_call (klass=3083598120, recv=3083598260, > mid=41161, argc=1, argv=0xbfcf07f0, scope=0, self=3085912480) at > eval.c:6062 > #217 0x00849129 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3447 > #218 0x0084be99 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3177 > ---Type to continue, or q to quit--- > #219 0x0084b674 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3263 > #220 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #221 0x0084d106 in rb_call (klass=3085917480, recv=3085912480, > mid=9737, argc=1, argv=0xbfcf1400, scope=1, self=3085912480) at > eval.c:6062 > #222 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #223 0x0084ba62 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3311 > #224 0x0085729e in rb_load (fname=3081494920, wrap=0) at eval.c:6857 > #225 0x00857729 in rb_require_safe (fname=3081499720, safe=0) at > eval.c:7213 > #226 0x008579c3 in rb_f_require (obj=3085912480, fname=3081502600) > at eval.c:7106 > #227 0x008420b8 in call_cfunc (func=0x8579a0 , > recv=3085912480, len=Variable "len" is not available. > ) at eval.c:5665 > #228 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #229 0x0084d106 in rb_call (klass=3085917360, recv=3085912480, > mid=30129, argc=1, argv=0xbfcf2270, scope=1, self=3085912480) at > eval.c:6062 > #230 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #231 0x0084b674 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3263 > #232 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #233 0x0084d106 in rb_call (klass=3085917340, recv=3085912480, > mid=9745, argc=1, argv=0xbfcf2bb0, scope=3, self=6) at eval.c:6062 > #234 0x008521d5 in rb_call_super (argc=1, argv=0xbfcf2bb0) at > eval.c:6230 > #235 0x0084a57d in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3509 > #236 0x0084f501 in rb_yield_0 (val=Variable "val" is not available. > ) at eval.c:4991 > #237 0x0084a80b in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3252 > #238 0x0084ba62 in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3311 > #239 0x0084ba62 in rb_eval (self=3083598260, n=Variable "n" is not > available. > ) at eval.c:3311 > #240 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #241 0x0084d106 in rb_call (klass=3083598120, recv=3083598260, > mid=41161, argc=1, argv=0xbfcf3d30, scope=0, self=3085912480) at > eval.c:6062 > #242 0x00849129 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3447 > #243 0x0084be99 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3177 > #244 0x0084b674 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3263 > #245 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #246 0x0084d106 in rb_call (klass=3085917480, recv=3085912480, > mid=9745, argc=1, argv=0xbfcf4940, scope=1, self=3085912480) at > eval.c:6062 > #247 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #248 0x0085729e in rb_load (fname=3084112660, wrap=0) at eval.c:6857 > #249 0x00857729 in rb_require_safe (fname=3085847780, safe=0) at > eval.c:7213 > #250 0x008579c3 in rb_f_require (obj=3085912480, fname=3084298900) > at eval.c:7106 > #251 0x008420b8 in call_cfunc (func=0x8579a0 , > recv=3085912480, len=Variable "len" is not available. > ) at eval.c:5665 > #252 0x0084c4dd in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5815 > #253 0x0084d106 in rb_call (klass=3085917360, recv=3085912480, > mid=30129, argc=1, argv=0xbfcf53c0, scope=1, self=3085912480) at > eval.c:6062 > #254 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #255 0x0084b674 in rb_eval (self=3085912480, n=Variable "n" is not > available. > ) at eval.c:3263 > #256 0x0084cdbf in rb_call0 (klass=Variable "klass" is not available. > ) at eval.c:5966 > #257 0x0084d106 in rb_call (klass=3085917340, recv=3085912480, > mid=9745, argc=1, argv=0xbfcf5cc0, scope=1, self=3085912480) at > eval.c:6062 > #258 0x0084923f in rb_eval (self=Variable "self" is not available. > ) at eval.c:3462 > #259 0x00856345 in ruby_exec_internal () at eval.c:1608 > #260 0x00856381 in ruby_exec () at eval.c:1628 > #261 0x0085829c in ruby_run () at eval.c:1638 > #262 0x08048669 in main (argc=Could not find the frame base for > "main". > ) at main.c:48 > > Dan Janowski wrote: >> I just sent out a notice of changes related to this. I'll leave >> testing this to you. If it still has problems, then I will use >> this data. >> >> Get it here: >> >> svn checkout http://libxml.rubyforge.org/svn/branches/MEM2 >> >> Thanks for the data. >> >> Dan >> On Sep 21, 2007, at 09:35, Calvin Bascom wrote: >> > From cbascom at revasystems.com Fri Sep 21 13:38:36 2007 From: cbascom at revasystems.com (Calvin Bascom) Date: Fri, 21 Sep 2007 13:38:36 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> Message-ID: <46F4019C.7080305@revasystems.com> 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 , 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 , 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 , 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 to continue, or q 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 , 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 to continue, or q 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 , data1=6, e_proc=0x15e4c8 , 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 , 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 , 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 , arg=0xb6a1e29c, th=0xab55dc0) at eval.c:11878 #145 0x00cc1fc8 in call_cfunc (func=0xcd8190 , 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 , 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 , arg=0xb6b78084, th=0xa453af8) at eval.c:11878 #160 0x00cc1fc8 in call_cfunc (func=0xcd8190 , 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 to continue, or q to quit--- #165 0x00cc20d6 in call_cfunc (func=0xccda20 , 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 , 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 , data1=3215054840, e_proc=0xcdfcfc , data2=3082979100) at eval.c:5456 #181 0x00cdfdf0 in rb_hash_foreach (hash=3082979100, func=0xce08bc , 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 , 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 , 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 to continue, or q 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 , 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 , 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 From danj at 3skel.com Fri Sep 21 19:57:09 2007 From: danj at 3skel.com (Dan Janowski) Date: Fri, 21 Sep 2007 19:57:09 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F4019C.7080305@revasystems.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> <46F4019C.7080305@revasystems.com> Message-ID: 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 > , 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 > , 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 , > 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 to continue, or q 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 , > 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 to continue, or q 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 , data1=6, > e_proc=0x15e4c8 , 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 > , 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 , > 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 > , arg=0xb6a1e29c, th=0xab55dc0) at eval.c:11878 > #145 0x00cc1fc8 in call_cfunc (func=0xcd8190 > , 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 , > 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 > , arg=0xb6b78084, th=0xa453af8) at eval.c:11878 > #160 0x00cc1fc8 in call_cfunc (func=0xcd8190 > , 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 to continue, or q to quit--- > #165 0x00cc20d6 in call_cfunc (func=0xccda20 , > 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 > , 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 , > data1=3215054840, e_proc=0xcdfcfc , > data2=3082979100) > at eval.c:5456 > #181 0x00cdfdf0 in rb_hash_foreach (hash=3082979100, func=0xce08bc > , 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 , > 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 , > 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 to continue, or q 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 , > 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 , > 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 > From cbascom at revasystems.com Fri Sep 21 20:39:41 2007 From: cbascom at revasystems.com (Calvin Bascom) Date: Fri, 21 Sep 2007 20:39:41 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> <46F4019C.7080305@revasystems.com> Message-ID: <46F4644D.5080701@revasystems.com> 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 , 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 to continue, or q 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 , 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 , 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 to continue, or q 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 , data1=6, e_proc=0x5164c8 , 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 , 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 , 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 , arg=0xb6bec920, th=0x906cff8) at eval.c:11878 #180 0x00d8ffc8 in call_cfunc (func=0xda6190 , 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 , 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 , arg=0xb6c53544, th=0x8f46338) at eval.c:11878 #195 0x00d8ffc8 in call_cfunc (func=0xda6190 , 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 , 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 to continue, or q to quit--- #213 0x00df39cf in st_foreach (table=0x8a81cb0, func=0xdadc44 , 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 , data1=3214324392, e_proc=0xdadcfc , data2=3083668080) at eval.c:5456 #216 0x00daddf0 in rb_hash_foreach (hash=3083668080, func=0xdae8bc , 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 , 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 , 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 , 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 , 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 to continue, or q 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 > > > From danj at 3skel.com Sun Sep 23 10:01:57 2007 From: danj at 3skel.com (Dan Janowski) Date: Sun, 23 Sep 2007 10:01:57 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F4644D.5080701@revasystems.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> <46F4019C.7080305@revasystems.com> <46F4644D.5080701@revasystems.com> Message-ID: <274D6204-D267-4AA2-BDA3-A17B0E8EFCD1@3skel.com> 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 , > 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 to continue, or q 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 , > 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 , > 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 to continue, or q 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 , data1=6, > e_proc=0x5164c8 , 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 , > 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 , > 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 , > arg=0xb6bec920, th=0x906cff8) at eval.c:11878 > #180 0x00d8ffc8 in call_cfunc (func=0xda6190 , > 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 , > 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 , > arg=0xb6c53544, th=0x8f46338) at eval.c:11878 > #195 0x00d8ffc8 in call_cfunc (func=0xda6190 , > 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 , > 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 to continue, or q to quit--- > #213 0x00df39cf in st_foreach (table=0x8a81cb0, func=0xdadc44 > , 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 , > data1=3214324392, e_proc=0xdadcfc , > data2=3083668080) > at eval.c:5456 > #216 0x00daddf0 in rb_hash_foreach (hash=3083668080, func=0xdae8bc > , 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 , > 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 , > 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 , > 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 , > 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 to continue, or q 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 at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel From cbascom at revasystems.com Sun Sep 23 17:18:17 2007 From: cbascom at revasystems.com (Calvin Bascom) Date: Sun, 23 Sep 2007 17:18:17 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <274D6204-D267-4AA2-BDA3-A17B0E8EFCD1@3skel.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> <46F4019C.7080305@revasystems.com> <46F4644D.5080701@revasystems.com> <274D6204-D267-4AA2-BDA3-A17B0E8EFCD1@3skel.com> Message-ID: <46F6D819.10008@revasystems.com> Dan, I am only working with libxml through the TAP class. It is a single XML document being parsed with a moderate number of accesses to that document. All of the SEGV do have the garbage_collect line at approximately the same spot. I started putting what I am doing together as a test case to see if I can reproduce the problems that way without the extra overhead of all the rails stuff. I'll finish that up tomorrow and pass that along to you if I can reproduce it that way. If I create a libxml document using the XML::Document.file method instead of the parser as I am doing now, should that be using all features that have been fixed? It creates an extra step of writing the string (which I retrieve from a rails TempFile object) to an intermediate file, but at least I could test to see if the parser is causing the problem that way. Thanks, Calvin Dan Janowski wrote: > 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 > > > From danj at 3skel.com Sun Sep 23 20:19:46 2007 From: danj at 3skel.com (Dan Janowski) Date: Sun, 23 Sep 2007 20:19:46 -0400 Subject: [libxml-devel] Segfault accessing element attributes In-Reply-To: <46F6D819.10008@revasystems.com> References: <46F2AC19.9070507@revasystems.com> <191EAE09-155A-41CD-B6C7-6537F7514BFE@3skel.com> <46F3C8AF.3050401@revasystems.com> <42BB972E-1105-41F6-98D2-A4AE2D76FD3C@3skel.com> <46F3D5BC.9020808@revasystems.com> <855454B8-A7CA-4C7A-B46E-0FFD0BC12F88@3skel.com> <46F4019C.7080305@revasystems.com> <46F4644D.5080701@revasystems.com> <274D6204-D267-4AA2-BDA3-A17B0E8EFCD1@3skel.com> <46F6D819.10008@revasystems.com> Message-ID: <827C27D8-0801-4D95-81F5-853B063A627B@3skel.com> Calvin, If you can produce a test case then I can find the problem. XML::Document.file is just a pass through for XML::Parser. Dan On Sep 23, 2007, at 17:18, Calvin Bascom wrote: > Dan, > > I am only working with libxml through the TAP class. It is a > single XML > document being parsed with a moderate number of accesses to that > document. All of the SEGV do have the garbage_collect line at > approximately the same spot. > > I started putting what I am doing together as a test case to see if I > can reproduce the problems that way without the extra overhead of all > the rails stuff. I'll finish that up tomorrow and pass that along to > you if I can reproduce it that way. > > If I create a libxml document using the XML::Document.file method > instead of the parser as I am doing now, should that be using all > features that have been fixed? It creates an extra step of writing > the > string (which I retrieve from a rails TempFile object) to an > intermediate file, but at least I could test to see if the parser is > causing the problem that way. > > Thanks, > Calvin > > Dan Janowski wrote: >> 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 >> >> >> > _______________________________________________ > libxml-devel mailing list > libxml-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/libxml-devel