StackOverFlowError exception

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

StackOverFlowError exception

Stephen Bayliss
I'm getting a StackOverflowError exception on a particular page.  I've
tried changing Tomcat/Java memory settings, but so far without any
success.

 

Stack trace is pasted below; to me it looks like something's got in a
bit of a nasty infinite loop or recursion, does anyone have any ideas?

 

2005-10-27 10:38:54 StandardWrapperValve[ops-main-servlet]:
Servlet.service() for servlet ops-main-servlet threw exception

java.lang.StackOverflowError

            at
org.orbeon.saxon.expr.ComputedExpression.getImplementationMethod(Compute
dExpression.java:94)

            at
org.orbeon.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:1
68)

            at
org.orbeon.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:13
8)

            at
org.orbeon.saxon.instruct.LocalVariable.processLeavingTail(LocalVariable
.java:18)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java
:52)

            at org.orbeon.saxon.value.Closure.iterate(Closure.java:207)

            at
org.orbeon.saxon.expr.VariableReference.iterate(VariableReference.java:1
70)

            at
org.orbeon.saxon.instruct.ForEach.processLeavingTail(ForEach.java:131)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Choose.processLeavingTail(Choose.java:181)

            at
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)

            at
org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:117)

            at
org.orbeon.saxon.instruct.Template.expand(Template.java:98)

            at
org.orbeon.saxon.instruct.Template.processLeavingTail(Template.java:82)

            at
org.orbeon.saxon.instruct.Template.process(Template.java:62)

            at
org.orbeon.saxon.instruct.NextMatch.processLeavingTail(NextMatch.java:72
)

            at
org.orbeon.saxon.instruct.Instruction.process(Instruction.java:91)

            at
org.orbeon.saxon.instruct.Instruction.iterate(Instruction.java:356)

            at
org.orbeon.saxon.expr.ItemChecker.iterate(ItemChecker.java:92)

            at
org.orbeon.saxon.expr.CardinalityChecker.iterate(CardinalityCheck
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
Stephen,

This looks like an issue with an XSLT stylesheet, as this stack trace is
produced by Saxon, the XSLT transformer. Changing memory settings won't
do anytyhing for you, since it appears that it really is a recursive
loop. You probably have a simple mistake in an XSLT stylesheet that
causes some templates to be called recursively, something like this or
maybe more subtle:

<xsl:template match="*">
   <xsl:apply-templates select="."/>
</xsl:template>

-Erik

Stephen Bayliss wrote:

> I?m getting a StackOverflowError exception on a particular page.  I?ve
> tried changing Tomcat/Java memory settings, but so far without any success.
>
>  
>
> Stack trace is pasted below; to me it looks like something?s got in a
> bit of a nasty infinite loop or recursion, does anyone have any ideas?
>
>  
>
> 2005-10-27 10:38:54 StandardWrapperValve[ops-main-servlet]:
> Servlet.service() for servlet ops-main-servlet threw exception
>
> java.lang.StackOverflowError
>
>             at
> org.orbeon.saxon.expr.ComputedExpression.getImplementationMethod(ComputedExpression.java:94)
>
>             at
> org.orbeon.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:168)
>
>             at
> org.orbeon.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:138)
>
>             at
> org.orbeon.saxon.instruct.LocalVariable.processLeavingTail(LocalVariable.java:18)
>
>             at
> org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeavingTail(InstructionWithChildren.java:196)


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
Erik

I'd come to the same conclusion.

I've narrowed it down to /ops/pfc/xforms-to-ajax-html.xsl

I'm capturing the inputs to see what I can spot.

Steve

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 12:06
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Stephen,

This looks like an issue with an XSLT stylesheet, as this stack trace is

produced by Saxon, the XSLT transformer. Changing memory settings won't
do anytyhing for you, since it appears that it really is a recursive
loop. You probably have a simple mistake in an XSLT stylesheet that
causes some templates to be called recursively, something like this or
maybe more subtle:

<xsl:template match="*">
   <xsl:apply-templates select="."/>
</xsl:template>

-Erik

Stephen Bayliss wrote:
> I'm getting a StackOverflowError exception on a particular page.  I've

> tried changing Tomcat/Java memory settings, but so far without any
success.

>
>  
>
> Stack trace is pasted below; to me it looks like something's got in a
> bit of a nasty infinite loop or recursion, does anyone have any ideas?
>
>  
>
> 2005-10-27 10:38:54 StandardWrapperValve[ops-main-servlet]:
> Servlet.service() for servlet ops-main-servlet threw exception
>
> java.lang.StackOverflowError
>
>             at
>
org.orbeon.saxon.expr.ComputedExpression.getImplementationMethod(Compute
dExpression.java:94)
>
>             at
>
org.orbeon.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:1
68)
>
>             at
>
org.orbeon.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:13
8)
>
>             at
>
org.orbeon.saxon.instruct.LocalVariable.processLeavingTail(LocalVariable
.java:18)
>
>             at
>
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
Tail(InstructionWithChildren.java:196)





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
Thanks! In that case, yes, it would be helpful for us to have the
document which causes the problem.

-Erik

Stephen Bayliss wrote:

> Erik
>
> I'd come to the same conclusion.
>
> I've narrowed it down to /ops/pfc/xforms-to-ajax-html.xsl
>
> I'm capturing the inputs to see what I can spot.
>
> Steve
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
> Sent: 27 October 2005 12:06
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Stephen,
>
> This looks like an issue with an XSLT stylesheet, as this stack trace is
>
> produced by Saxon, the XSLT transformer. Changing memory settings won't
> do anytyhing for you, since it appears that it really is a recursive
> loop. You probably have a simple mistake in an XSLT stylesheet that
> causes some templates to be called recursively, something like this or
> maybe more subtle:
>
> <xsl:template match="*">
>    <xsl:apply-templates select="."/>
> </xsl:template>
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>I'm getting a StackOverflowError exception on a particular page.  I've
>
>
>>tried changing Tomcat/Java memory settings, but so far without any
>
> success.
>
>>
>>
>>Stack trace is pasted below; to me it looks like something's got in a
>>bit of a nasty infinite loop or recursion, does anyone have any ideas?
>>
>>
>>
>>2005-10-27 10:38:54 StandardWrapperValve[ops-main-servlet]:
>>Servlet.service() for servlet ops-main-servlet threw exception
>>
>>java.lang.StackOverflowError
>>
>>            at
>>
>
> org.orbeon.saxon.expr.ComputedExpression.getImplementationMethod(Compute
> dExpression.java:94)
>
>>            at
>>
>
> org.orbeon.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:1
> 68)
>
>>            at
>>
>
> org.orbeon.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:13
> 8)
>
>>            at
>>
>
> org.orbeon.saxon.instruct.LocalVariable.processLeavingTail(LocalVariable
> .java:18)
>
>>            at
>>
>
> org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
> Tail(InstructionWithChildren.java:196)


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
Ok, the files I captured, together with an xpl to run them all through
the transform, plus the transform itself are attached.

They are being called by the following page flow:
<page id="error-recursion" path-info="/error-recursion"
view="/error-recursion/test.xpl"/>

I was running this repeatedly and getting the error.  However, it has
now stopped.  I haven't changed anything - honest! - I tried repeatedly
restarting Tomcat previously and it made no difference, but one restart
while trying out the attached test case it suddenly started working
again...

We've got the same problem on another box running exactly the same
stuff, so I'm now going to see if I can capture the same stuff on there
and see what happens...

Steve



-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 12:54
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Thanks! In that case, yes, it would be helpful for us to have the
document which causes the problem.

-Erik

Stephen Bayliss wrote:

> Erik
>
> I'd come to the same conclusion.
>
> I've narrowed it down to /ops/pfc/xforms-to-ajax-html.xsl
>
> I'm capturing the inputs to see what I can spot.
>
> Steve
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik
Bruchez
> Sent: 27 October 2005 12:06
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Stephen,
>
> This looks like an issue with an XSLT stylesheet, as this stack trace
is
>
> produced by Saxon, the XSLT transformer. Changing memory settings
won't
> do anytyhing for you, since it appears that it really is a recursive
> loop. You probably have a simple mistake in an XSLT stylesheet that
> causes some templates to be called recursively, something like this or

> maybe more subtle:
>
> <xsl:template match="*">
>    <xsl:apply-templates select="."/>
> </xsl:template>
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>I'm getting a StackOverflowError exception on a particular page.  I've
>
>
>>tried changing Tomcat/Java memory settings, but so far without any
>
> success.
>
>>
>>
>>Stack trace is pasted below; to me it looks like something's got in a
>>bit of a nasty infinite loop or recursion, does anyone have any ideas?
>>
>>
>>
>>2005-10-27 10:38:54 StandardWrapperValve[ops-main-servlet]:
>>Servlet.service() for servlet ops-main-servlet threw exception
>>
>>java.lang.StackOverflowError
>>
>>            at
>>
>
>
org.orbeon.saxon.expr.ComputedExpression.getImplementationMethod(Compute
> dExpression.java:94)
>
>>            at
>>
>
>
org.orbeon.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:1
> 68)
>
>>            at
>>
>
>
org.orbeon.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:13
> 8)
>
>>            at
>>
>
>
org.orbeon.saxon.instruct.LocalVariable.processLeavingTail(LocalVariable
> .java:18)
>
>>            at
>>
>
>
org.orbeon.saxon.instruct.InstructionWithChildren.processChildrenLeaving
> Tail(InstructionWithChildren.java:196)





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
Thanks, except I think you forgot your attachment ;-)

-Erik

Stephen Bayliss wrote:

> Ok, the files I captured, together with an xpl to run them all through
> the transform, plus the transform itself are attached.
>
> They are being called by the following page flow:
> <page id="error-recursion" path-info="/error-recursion"
> view="/error-recursion/test.xpl"/>
>
> I was running this repeatedly and getting the error.  However, it has
> now stopped.  I haven't changed anything - honest! - I tried repeatedly
> restarting Tomcat previously and it made no difference, but one restart
> while trying out the attached test case it suddenly started working
> again...
>
> We've got the same problem on another box running exactly the same
> stuff, so I'm now going to see if I can capture the same stuff on there
> and see what happens...
>
> Steve


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
Oops!

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 14:16
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Thanks, except I think you forgot your attachment ;-)

-Erik

Stephen Bayliss wrote:
> Ok, the files I captured, together with an xpl to run them all through
> the transform, plus the transform itself are attached.
>
> They are being called by the following page flow:
> <page id="error-recursion" path-info="/error-recursion"
> view="/error-recursion/test.xpl"/>
>
> I was running this repeatedly and getting the error.  However, it has
> now stopped.  I haven't changed anything - honest! - I tried
repeatedly
> restarting Tomcat previously and it made no difference, but one
restart
> while trying out the attached test case it suddenly started working
> again...
>
> We've got the same problem on another box running exactly the same
> stuff, so I'm now going to see if I can capture the same stuff on
there
> and see what happens...
>
> Steve




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

error-recursion.zip (17K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
If I use saxon:trace="yes" in the xsl, will the output appear anywhere?

-----Original Message-----
From: Stephen Bayliss
Sent: 27 October 2005 14:29
To: [hidden email]
Cc: Erik Bruchez
Subject: RE: [ops-users] StackOverFlowError exception

Oops!

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 14:16
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Thanks, except I think you forgot your attachment ;-)

-Erik

Stephen Bayliss wrote:
> Ok, the files I captured, together with an xpl to run them all through
> the transform, plus the transform itself are attached.
>
> They are being called by the following page flow:
> <page id="error-recursion" path-info="/error-recursion"
> view="/error-recursion/test.xpl"/>
>
> I was running this repeatedly and getting the error.  However, it has
> now stopped.  I haven't changed anything - honest! - I tried
repeatedly
> restarting Tomcat previously and it made no difference, but one
restart
> while trying out the attached test case it suddenly started working
> again...
>
> We've got the same problem on another box running exactly the same
> stuff, so I'm now going to see if I can capture the same stuff on
there
> and see what happens...
>
> Steve






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
Does saxon:trace do anytyhing with Saxon 8? I don't see it in the Saxon doc:

http://www.saxonica.com/documentation/extensions/intro.html

-Erik

Stephen Bayliss wrote:

> If I use saxon:trace="yes" in the xsl, will the output appear anywhere?
>
> -----Original Message-----
> From: Stephen Bayliss
> Sent: 27 October 2005 14:29
> To: [hidden email]
> Cc: Erik Bruchez
> Subject: RE: [ops-users] StackOverFlowError exception
>
> Oops!
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
> Sent: 27 October 2005 14:16
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Thanks, except I think you forgot your attachment ;-)
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>Ok, the files I captured, together with an xpl to run them all through
>>the transform, plus the transform itself are attached.
>>
>>They are being called by the following page flow:
>><page id="error-recursion" path-info="/error-recursion"
>>view="/error-recursion/test.xpl"/>
>>
>>I was running this repeatedly and getting the error.  However, it has
>>now stopped.  I haven't changed anything - honest! - I tried
>
> repeatedly
>
>>restarting Tomcat previously and it made no difference, but one
>
> restart
>
>>while trying out the attached test case it suddenly started working
>>again...
>>
>>We've got the same problem on another box running exactly the same
>>stuff, so I'm now going to see if I can capture the same stuff on
>
> there
>
>>and see what happens...
>>
>>Steve
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
Actually nor can I, must have been a previous version...

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 14:49
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Does saxon:trace do anytyhing with Saxon 8? I don't see it in the Saxon
doc:

http://www.saxonica.com/documentation/extensions/intro.html

-Erik

Stephen Bayliss wrote:
> If I use saxon:trace="yes" in the xsl, will the output appear
anywhere?

>
> -----Original Message-----
> From: Stephen Bayliss
> Sent: 27 October 2005 14:29
> To: [hidden email]
> Cc: Erik Bruchez
> Subject: RE: [ops-users] StackOverFlowError exception
>
> Oops!
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik
Bruchez

> Sent: 27 October 2005 14:16
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Thanks, except I think you forgot your attachment ;-)
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>Ok, the files I captured, together with an xpl to run them all through
>>the transform, plus the transform itself are attached.
>>
>>They are being called by the following page flow:
>><page id="error-recursion" path-info="/error-recursion"
>>view="/error-recursion/test.xpl"/>
>>
>>I was running this repeatedly and getting the error.  However, it has
>>now stopped.  I haven't changed anything - honest! - I tried
>
> repeatedly
>
>>restarting Tomcat previously and it made no difference, but one
>
> restart
>
>>while trying out the attached test case it suddenly started working
>>again...
>>
>>We've got the same problem on another box running exactly the same
>>stuff, so I'm now going to see if I can capture the same stuff on
>
> there
>
>>and see what happens...
>>
>>Steve
>
>
>
>
>
>
>
------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the
[hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
This said, you can use xsl:message to output debug information in an
XSLT stylesheet. This will go to the logs.

-Erik

Stephen Bayliss wrote:

> Actually nor can I, must have been a previous version...
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
> Sent: 27 October 2005 14:49
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Does saxon:trace do anytyhing with Saxon 8? I don't see it in the Saxon
> doc:
>
> http://www.saxonica.com/documentation/extensions/intro.html
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>If I use saxon:trace="yes" in the xsl, will the output appear
>
> anywhere?
>
>>-----Original Message-----
>>From: Stephen Bayliss
>>Sent: 27 October 2005 14:29
>>To: [hidden email]
>>Cc: Erik Bruchez
>>Subject: RE: [ops-users] StackOverFlowError exception
>>
>>Oops!
>>
>>-----Original Message-----
>>From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik
>
> Bruchez
>
>>Sent: 27 October 2005 14:16
>>To: [hidden email]
>>Subject: Re: [ops-users] StackOverFlowError exception
>>
>>Thanks, except I think you forgot your attachment ;-)
>>
>>-Erik
>>
>>Stephen Bayliss wrote:
>>
>>
>>>Ok, the files I captured, together with an xpl to run them all through
>>>the transform, plus the transform itself are attached.
>>>
>>>They are being called by the following page flow:
>>><page id="error-recursion" path-info="/error-recursion"
>>>view="/error-recursion/test.xpl"/>
>>>
>>>I was running this repeatedly and getting the error.  However, it has
>>>now stopped.  I haven't changed anything - honest! - I tried
>>
>>repeatedly
>>
>>
>>>restarting Tomcat previously and it made no difference, but one
>>
>>restart
>>
>>
>>>while trying out the attached test case it suddenly started working
>>>again...
>>>
>>>We've got the same problem on another box running exactly the same
>>>stuff, so I'm now going to see if I can capture the same stuff on
>>
>>there
>>
>>
>>>and see what happens...
>>>
>>>Steve
>>
>>
>>
>>
>>
>>
>>
> ------------------------------------------------------------------------
>
>>
>>--
>>You receive this message as a subscriber of the
>
> [hidden email] mailing list.
>
>>To unsubscribe: mailto:[hidden email]
>>For general help: mailto:[hidden email]?subject=help
>>ObjectWeb mailing lists service home page:
>
> http://www.objectweb.org/wws
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
Update on this:

We've discovered that if we navigate to the Orbeon demos page first (ie
just <a href="http://server:port/Orbeon">http://server:port/Orbeon) and then go to our application URL, we
don't get a stack overflow.

However if we go straight to our app URL we do.

Sounds maybe like a class-loading issue?

Any hints on how to track this down?

Steve

-----Original Message-----
From: Stephen Bayliss
Sent: 27 October 2005 14:29
To: [hidden email]
Cc: Erik Bruchez
Subject: RE: [ops-users] StackOverFlowError exception

Oops!

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 27 October 2005 14:16
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Thanks, except I think you forgot your attachment ;-)

-Erik

Stephen Bayliss wrote:
> Ok, the files I captured, together with an xpl to run them all through
> the transform, plus the transform itself are attached.
>
> They are being called by the following page flow:
> <page id="error-recursion" path-info="/error-recursion"
> view="/error-recursion/test.xpl"/>
>
> I was running this repeatedly and getting the error.  However, it has
> now stopped.  I haven't changed anything - honest! - I tried
repeatedly
> restarting Tomcat previously and it made no difference, but one
restart
> while trying out the attached test case it suddenly started working
> again...
>
> We've got the same problem on another box running exactly the same
> stuff, so I'm now going to see if I can capture the same stuff on
there
> and see what happens...
>
> Steve






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
In reply to this post by Stephen Bayliss
So just going to "/error-recursion" doesn't cause the recursion, right?
You are saying that it doesn't happen anymore? On my machine, with your
files, just loading that path doesn't cause the problem.

-Erik

Stephen Bayliss wrote:

> Oops!
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
> Sent: 27 October 2005 14:16
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Thanks, except I think you forgot your attachment ;-)
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>Ok, the files I captured, together with an xpl to run them all through
>>the transform, plus the transform itself are attached.
>>
>>They are being called by the following page flow:
>><page id="error-recursion" path-info="/error-recursion"
>>view="/error-recursion/test.xpl"/>
>>
>>I was running this repeatedly and getting the error.  However, it has
>>now stopped.  I haven't changed anything - honest! - I tried
>
> repeatedly
>
>>restarting Tomcat previously and it made no difference, but one
>
> restart
>
>>while trying out the attached test case it suddenly started working
>>again...
>>
>>We've got the same problem on another box running exactly the same
>>stuff, so I'm now going to see if I can capture the same stuff on
>
> there
>
>>and see what happens...
>>
>>Steve
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: StackOverFlowError exception

Erik Bruchez
Administrator
In reply to this post by Stephen Bayliss
Do you still get the stack overflow in Saxon?

I doubt this has anything to do with class loading.

The stack overflow should occur strictly based on the inputs of the XSLT
transformation. Does the input change whether you go to /Orbeon or not?
You should check that with debug attributes.

-Erik

Stephen Bayliss wrote:

> Update on this:
>
> We've discovered that if we navigate to the Orbeon demos page first (ie
> just <a href="http://server:port/Orbeon">http://server:port/Orbeon) and then go to our application URL, we
> don't get a stack overflow.
>
> However if we go straight to our app URL we do.
>
> Sounds maybe like a class-loading issue?
>
> Any hints on how to track this down?
>
> Steve
>
> -----Original Message-----
> From: Stephen Bayliss
> Sent: 27 October 2005 14:29
> To: [hidden email]
> Cc: Erik Bruchez
> Subject: RE: [ops-users] StackOverFlowError exception
>
> Oops!
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
> Sent: 27 October 2005 14:16
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Thanks, except I think you forgot your attachment ;-)
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>Ok, the files I captured, together with an xpl to run them all through
>>the transform, plus the transform itself are attached.
>>
>>They are being called by the following page flow:
>><page id="error-recursion" path-info="/error-recursion"
>>view="/error-recursion/test.xpl"/>
>>
>>I was running this repeatedly and getting the error.  However, it has
>>now stopped.  I haven't changed anything - honest! - I tried
>
> repeatedly
>
>>restarting Tomcat previously and it made no difference, but one
>
> restart
>
>>while trying out the attached test case it suddenly started working
>>again...
>>
>>We've got the same problem on another box running exactly the same
>>stuff, so I'm now going to see if I can capture the same stuff on
>
> there
>
>>and see what happens...
>>
>>Steve
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: StackOverFlowError exception

Stephen Bayliss
In reply to this post by Stephen Bayliss
To summarise:

(We're running under Tomcat 5.0.28 with Java 1.4.2.08)

If I restart Tomcat from scratch, and navigate straight to the test URL,
I get the stack exception.

If I restart Tomcat and first go to the demo pages, and then go to the
test URL, I get no exception.

It's now behaving consistently in this manner, so long as the Orbeon
test pages have been visited once when Tomcat is started, our
application is stable.

I'll try and capture the inputs for both situations, to see if there's
any difference between them.

Steve

-----Original Message-----
From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez
Sent: 03 November 2005 13:20
To: [hidden email]
Subject: Re: [ops-users] StackOverFlowError exception

Do you still get the stack overflow in Saxon?

I doubt this has anything to do with class loading.

The stack overflow should occur strictly based on the inputs of the XSLT

transformation. Does the input change whether you go to /Orbeon or not?
You should check that with debug attributes.

-Erik

Stephen Bayliss wrote:
> Update on this:
>
> We've discovered that if we navigate to the Orbeon demos page first
(ie

> just <a href="http://server:port/Orbeon">http://server:port/Orbeon) and then go to our application URL, we
> don't get a stack overflow.
>
> However if we go straight to our app URL we do.
>
> Sounds maybe like a class-loading issue?
>
> Any hints on how to track this down?
>
> Steve
>
> -----Original Message-----
> From: Stephen Bayliss
> Sent: 27 October 2005 14:29
> To: [hidden email]
> Cc: Erik Bruchez
> Subject: RE: [ops-users] StackOverFlowError exception
>
> Oops!
>
> -----Original Message-----
> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik
Bruchez

> Sent: 27 October 2005 14:16
> To: [hidden email]
> Subject: Re: [ops-users] StackOverFlowError exception
>
> Thanks, except I think you forgot your attachment ;-)
>
> -Erik
>
> Stephen Bayliss wrote:
>
>>Ok, the files I captured, together with an xpl to run them all through
>>the transform, plus the transform itself are attached.
>>
>>They are being called by the following page flow:
>><page id="error-recursion" path-info="/error-recursion"
>>view="/error-recursion/test.xpl"/>
>>
>>I was running this repeatedly and getting the error.  However, it has
>>now stopped.  I haven't changed anything - honest! - I tried
>
> repeatedly
>
>>restarting Tomcat previously and it made no difference, but one
>
> restart
>
>>while trying out the attached test case it suddenly started working
>>again...
>>
>>We've got the same problem on another box running exactly the same
>>stuff, so I'm now going to see if I can capture the same stuff on
>
> there
>
>>and see what happens...
>>
>>Steve
>
>
>
>
>
>
>
------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the
[hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws