The following exception was raised:
java.lang.ArrayIndexOutOfBoundsException: 50
at
net.sf.saxon.tinytree.TinyTree.condense(TinyTree.java:330)
at
net.sf.saxon.tinytree.TinyBuilder.close(TinyBuilder.java:145)
at
net.sf.saxon.event.ProxyReceiver.close(ProxyReceiver.java:97)
at
net.sf.saxon.event.ComplexContentOutputter.close(ComplexContentOutputter.java:417)
at
net.sf.saxon.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:219)
at
net.sf.saxon.instruct.DocumentInstr.processLeavingTail(DocumentInstr.java:152)
at
net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
at
net.sf.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:245)
at
net.sf.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:183)
at
net.sf.saxon.expr.LetExpression.eval(LetExpression.java:103)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:122)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:217)
at
net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:217)
at
net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.instruct.ResultDocument.processLeavingTail(ResultDocument.java:283)
at
net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:213)
at
net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.expr.LetExpression.process(LetExpression.java:124)
at
net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:215)
at
net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:158)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:167)
at
net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:127)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:158)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.expr.AppendExpression.process(AppendExpression.java:159)
at
net.sf.saxon.instruct.Template.expand(Template.java:100)
at
net.sf.saxon.instruct.Template.processLeavingTail(Template.java:82)
at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:285)
at
net.sf.saxon.Controller.transformDocument(Controller.java:1120)
at
net.sf.saxon.Controller.transform(Controller.java:964)
at
net.sf.saxon.Transform.processFile(Transform.java:773)
at net.sf.saxon.Transform.doMain(Transform.java:452)
at net.sf.saxon.Transform.main(Transform.java:58)
Logged In: YES
user_id=588968
The exception occurs when the tiny tree is completly full
and the condense method is called. In this situation the
array length is equal to the variable numberOfNodes.
As a quick fix: should one call ensureCapacity before
setting the Type.STOPPER or is setting Type.STOPPER not
necessary if the tiny tree is completely filled?
Logged In: YES
user_id=251681
PLEASE don't raise suspected bugs in this area: as the
bright yellow highlighted text indicates, it is for
confirmed bugs only. Please raise bugs on the saxon-help
list or forum.
This is a duplicate of 1096802, which includes a fix. It's
fixed in 8.3.
Michael Kay