Bug #3780
closedjava.lang.RuntimeException: Internal error when adding a map to the final result tree
100%
Description
Using Java build of Saxon 9.8.0.12.
The development XSLT supplied here is incomplete and is flawed in the sense that it is attempting to add a map to the final result tree. I would expect some exception, but not an internal error (repro files attached)
Run from the terminal, here's the terminal output/stack trace:
java -jar SaxonPE9-8-0-12J/saxon9pe.jar -xsl:create-updates.xsl -s:create-milestones-input.xml -o:create-updates-out.xml
No license file found - running with licensable features disabled
a: [1,2]
c: [1]
d: [2]
e: [2,1]
key: a
key: b
key: c
key: d
key: e
java.lang.RuntimeException: Internal error evaluating template rule at line 17 in module file:/create-updates.xsl
at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:360)
at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:505)
at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:69)
at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:481)
at net.sf.saxon.Controller.transformDocument(Controller.java:2402)
at net.sf.saxon.Controller.transform(Controller.java:1970)
at net.sf.saxon.s9api.Xslt30Transformer.applyTemplates(Xslt30Transformer.java:593)
at net.sf.saxon.Transform.processFile(Transform.java:1259)
at net.sf.saxon.Transform.doTransform(Transform.java:782)
at net.sf.saxon.Transform.main(Transform.java:81)
Caused by: java.lang.UnsupportedOperationException: A map has no string value
at net.sf.saxon.ma.map.HashTrieMap.getStringValueCS(HashTrieMap.java:682)
at net.sf.saxon.serialize.UncommittedSerializer.append(UncommittedSerializer.java:222)
at net.sf.saxon.event.ProxyReceiver.append(ProxyReceiver.java:230)
at net.sf.saxon.event.ProxyReceiver.append(ProxyReceiver.java:230)
at net.sf.saxon.event.SequenceReceiver.append(SequenceReceiver.java:124)
at net.sf.saxon.event.ComplexContentOutputter.append(ComplexContentOutputter.java:634)
at net.sf.saxon.expr.VariableReference.process(VariableReference.java:575)
at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:711)
at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:687)
at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:709)
at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:687)
at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:263)
at net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:353)
at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:337)
at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:284)
at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:347)
... 9 more
Fatal error during transformation: java.lang.RuntimeException: Internal error evaluating template rule at line 17 in module file:/Users/philipf/dev/merge/source/product/xsl/formatting/create-updates.xsl
Files
Updated by Michael Kay over 6 years ago
- Status changed from New to In Progress
Thanks for reporting it. It's failing in the "Uncommitted serializer" which is a filter on the serialization pipeline created when there's a need to decide dynamically between XML or HTML serialization based on the first start tag encountered.
Updated by Michael Kay over 6 years ago
- Category set to Serialization
- Status changed from In Progress to Resolved
- Assignee set to Michael Kay
- Priority changed from Low to Normal
- Applies to branch trunk added
- Fix Committed on Branch 9.8, trunk added
Fixed the bug in UncommittedSerializer.append().
Added several new test cases to xslt30 test suite, tests output-07xx
Updated by Debbie Lockett over 6 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in Maintenance Release 9.8.0.14 added
Bug fix applied in the Saxon 9.8.0.14 maintenance release.
Please register to edit this issue