Actions
Bug #3710
closedNon-terminating optimization
Start date:
2018-03-01
Due date:
% Done:
0%
Estimated time:
Legacy ID:
Applies to branch:
9.7
Fix Committed on Branch:
Fixed in Maintenance Release:
Platforms:
Description
Reported by Norm Walsh on saxon-help mailing list:
Hi,
I hope this is useful. Apologies, I don’t have time to coax out a
smaller test case. It’s a small DocBook document. Works fine with
Saxon 9.6 and 9.8, but blows up with 9.7.0-11 and 9.7.0-21.
If you want to run it, I believe the following recipe will work,
though it carries a bit of baggage along with it.
gradle -PsaxonVersion=9.7.0-21 -PxmlCalabashVersion=1.1.16-97 \
--stacktrace relNotes
It’ll chug on for a bit, download half the internet, compile some
stuff, and then go bang.
Caused by: java.lang.StackOverflowError
at net.sf.saxon.expr.SystemFunctionCall.optimize(SystemFunctionCall.java:157)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.Expression.optimizeChildren(Expression.java:496)
at net.sf.saxon.expr.instruct.SimpleNodeConstructor.optimize(SimpleNodeConstructor.java:161)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.Expression.optimizeChildren(Expression.java:496)
at net.sf.saxon.expr.instruct.Block.optimize(Block.java:563)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.Expression.optimizeChildren(Expression.java:496)
at net.sf.saxon.expr.instruct.ParentNodeConstructor.optimize(ParentNodeConstructor.java:209)
at net.sf.saxon.expr.instruct.FixedElement.optimize(FixedElement.java:106)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.instruct.ForEach.optimize(ForEach.java:245)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.LetExpression.optimize(LetExpression.java:305)
at net.sf.saxon.expr.instruct.ForEach.optimize(ForEach.java:270)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.LetExpression.optimize(LetExpression.java:305)
at net.sf.saxon.expr.instruct.ForEach.optimize(ForEach.java:270)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.LetExpression.optimize(LetExpression.java:305)
at net.sf.saxon.expr.instruct.ForEach.optimize(ForEach.java:270)
at net.sf.saxon.expr.Operand.optimize(Operand.java:200)
at net.sf.saxon.expr.LetExpression.optimize(LetExpression.java:305)
…
On and on and on so many times that it blows out not just the stack,
but also the size limit for messages to this list!
Please register to edit this issue
Actions