Discussion:
[saxon] Exception in thread "main" java.lang.AssertionError: **** Component reference is already bound
David Carlisle
2017-06-19 19:03:32 UTC
Permalink
I'm getting the following java error when processing a reasonably large
stylesheet (on any input) with saxon HE 9.8.

I am having some trouble cutting down the stylesheet to something
manageable to make a reproducible test case, but perhaps the stack trace
is enough if you know what you are looking for?

If not I will try harder tomorrow to isolate the example,

David

*** Bad parent pointer found in
element(Q{}section)[Q{data:,NAG}thislib(.)] union
element()[ends-with(name(.), "-sec")][Q{data:,NAG}thislib(.)] at 2682 ***
Exception in thread "main" java.lang.AssertionError: **** Component
reference is already bound
at
net.sf.saxon.expr.instruct.Actor.processComponentReference(Actor.java:145)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:108)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at net.sf.saxon.expr.instruct.Actor.allocateAllBindingSlots(Actor.java:102)
at
net.sf.saxon.style.PrincipalStylesheetModule.compile(PrincipalStylesheetModule.java:1366)
at net.sf.saxon.style.Compilation.compilePackage(Compilation.java:328)
at
net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:257)
at
net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:106)
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:743)
at net.sf.saxon.Transform.doTransform(Transform.java:701)
at net.sf.saxon.Transform.main(Transform.java:81)

Disclaimer

The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business.
Michael Kay
2017-06-19 20:34:34 UTC
Permalink
It's probably this one:

https://saxonica.plan.io/issues/3261

but not necessarily - it could be a different bug with the same symptoms.

It's not obvious from the bug entry but the source code triggering this is something like

xsl:choose
xsl:when test="$x=1".....
xsl:when test="$x=5".....
xsl:when test="$x=7".....
xsl:when test="$x=9 or $x=11".....

except that in place of the literals 1,5,7,9,11 there needs to be a reference to a global variable somewhere.

Michael Kay
Saxonica
Post by David Carlisle
I'm getting the following java error when processing a reasonably large
stylesheet (on any input) with saxon HE 9.8.
I am having some trouble cutting down the stylesheet to something
manageable to make a reproducible test case, but perhaps the stack trace
is enough if you know what you are looking for?
If not I will try harder tomorrow to isolate the example,
David
*** Bad parent pointer found in
element(Q{}section)[Q{data:,NAG}thislib(.)] union
element()[ends-with(name(.), "-sec")][Q{data:,NAG}thislib(.)] at 2682 ***
Exception in thread "main" java.lang.AssertionError: **** Component
reference is already bound
at
net.sf.saxon.expr.instruct.Actor.processComponentReference(Actor.java:145)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:108)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at net.sf.saxon.expr.instruct.Actor.allocateAllBindingSlots(Actor.java:102)
at
net.sf.saxon.style.PrincipalStylesheetModule.compile(PrincipalStylesheetModule.java:1366)
at net.sf.saxon.style.Compilation.compilePackage(Compilation.java:328)
at
net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:257)
at
net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:106)
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:743)
at net.sf.saxon.Transform.doTransform(Transform.java:701)
at net.sf.saxon.Transform.main(Transform.java:81)
Disclaimer
The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
Michael Kay
2017-06-19 20:42:30 UTC
Permalink
Actually, since you hit it on Saxon-HE, I suspect it is a different bug with the same symptoms.

Michael Kay
Saxonica
https://saxonica.plan.io/issues/3261 <https://saxonica.plan.io/issues/3261>
but not necessarily - it could be a different bug with the same symptoms.
It's not obvious from the bug entry but the source code triggering this is something like
xsl:choose
xsl:when test="$x=1".....
xsl:when test="$x=5".....
xsl:when test="$x=7".....
xsl:when test="$x=9 or $x=11".....
except that in place of the literals 1,5,7,9,11 there needs to be a reference to a global variable somewhere.
Michael Kay
Saxonica
Post by David Carlisle
I'm getting the following java error when processing a reasonably large
stylesheet (on any input) with saxon HE 9.8.
I am having some trouble cutting down the stylesheet to something
manageable to make a reproducible test case, but perhaps the stack trace
is enough if you know what you are looking for?
If not I will try harder tomorrow to isolate the example,
David
*** Bad parent pointer found in
element(Q{}section)[Q{data:,NAG}thislib(.)] union
element()[ends-with(name(.), "-sec")][Q{data:,NAG}thislib(.)] at 2682 ***
Exception in thread "main" java.lang.AssertionError: **** Component
reference is already bound
at
net.sf.saxon.expr.instruct.Actor.processComponentReference(Actor.java:145)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:108)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at
net.sf.saxon.expr.instruct.Actor.allocateBindingSlotsRecursive(Actor.java:111)
at net.sf.saxon.expr.instruct.Actor.allocateAllBindingSlots(Actor.java:102)
at
net.sf.saxon.style.PrincipalStylesheetModule.compile(PrincipalStylesheetModule.java:1366)
at net.sf.saxon.style.Compilation.compilePackage(Compilation.java:328)
at
net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:257)
at
net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:106)
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:743)
at net.sf.saxon.Transform.doTransform(Transform.java:701)
at net.sf.saxon.Transform.main(Transform.java:81)
Disclaimer
The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org <http://slashdot.org/>! http://sdm.link/slashdot_______________________________________________ <http://sdm.link/slashdot_______________________________________________>
saxon-help mailing list archived at http://saxon.markmail.org/ <http://saxon.markmail.org/>
https://lists.sourceforge.net/lists/listinfo/saxon-help
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
David Carlisle
2017-06-22 12:25:15 UTC
Permalink
Post by David Carlisle
Exception in thread "main" java.lang.AssertionError: **** Component
reference is already bound
Thanks. I can confirm this is gone with the 8.0.2 release.

David

Disclaimer

The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business.
Loading...