commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Pannier" <Steve_Pannier....@jacada.com>
Subject [JXPath] Infinite loop in iterator.hasNext()
Date Mon, 17 Feb 2003 19:58:48 GMT
I've run into a problem with iterating through the result set after
calling context.iterate().  As I'm iterating, the hasNext() method
in my while loop conditional seems to get into an infinite loop.
(I get several java.lang.OutOfMemoryError's - no stack trace
available.)  I did get a stack dump by sending the Unix QUIT
signal to my running process, and the result of that is shown
here:

.
.
.
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.NodePointer.clone(NodePointer.java:644)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.model.beans.PropertyIterator.getNodePointer(PropertyIterator.java:152)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.axes.DescendantContext.nextNode(DescendantContext.java:151)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.EvalContext.nextSet(EvalContext.java:349)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.EvalContext.nextSet(EvalContext.java:355)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.axes.PredicateContext.nextSet(PredicateContext.java:201)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.EvalContext.performIteratorStep(EvalContext.java:192)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.EvalContext.hasNext(EvalContext.java:151)
Feb 17, 2003 12:29:18 PM CST: at
org.apache.commons.jxpath.ri.compiler.Expression$ValueIterator.hasNext(Expression.java:171)
Feb 17, 2003 12:29:18 PM CST: at
com.jacada.ji.type.Util.doXPathAssignment(Util.java:866)



Our context root is a Map, and we are trying to evaluate the
expression "//A/B[@attr='value']", where the "A/B" structure
is located at different levels throughout the Map.  For example,
"/Foo/A/B", "/Foo/Bar/Baz/A/B", etc.

I'm running with the nightly build commons-jxpath.jar.  I was
first using the one from Jan 7, but downloaded the Feb 14
version on Friday and saw no difference in behavior.

I've seen this problem when running within our proprietary
runtime environment.  I'm currently working on putting a
simple test case together that shows the problem.  I had
my test case working on Friday, but I made some changes
to clean it up, and for some reason today I can't seem to
recreate the problem.  I will forward it here once I get it
working again.


Steve Pannier
Jacada, Inc.
(763) 201-0002 Ext. 219
spannier@jacada.com
http://www.jacada.com



Mime
View raw message