Duplicate binding slot error in oXygen 19

DaveC
Posts: 18

Duplicate binding slot error in oXygen 19

Thu Apr 06, 2017 5:46 pm

I have just upgraded from 18.1 to 19.0 and all of my pdf builds give the following error and fail to build. I do not get this error in the stock PDF transform. Can someone point me in the right direction for fixing this as I have no idea what the binding slot is?

Code: Select all

C:\Program Files\Oxygen XML Editor 19\frameworks\dita\DITA-OT\plugins\org.dita.pdf2\build.xml:324: java.lang.AssertionError: Duplicate binding slot assignment
   at net.sf.saxon.expr.GlobalVariableReference.setBindingSlot(GlobalVariableReference.java:60)
   at net.sf.saxon.expr.instruct.ComponentCode.processComponentReference(ComponentCode.java:140)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:106)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateBindingSlotsRecursive(ComponentCode.java:109)
   at net.sf.saxon.expr.instruct.ComponentCode.allocateAllBindingSlots(ComponentCode.java:100)
   at net.sf.saxon.style.PrincipalStylesheetModule.compile(Unknown Source)
   at net.sf.saxon.style.Compilation.compilePackage(Compilation.java:265)
   at net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:260)
   at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:101)
   at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:859)
   at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(Unknown Source)
   at org.apache.tools.ant.taskdefs.optional.TraXLiaison.readTemplates(TraXLiaison.java:310)
   at org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXLiaison.java:328)
   at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:188)
   at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:881)
   at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:419)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:435)
   at org.apache.tools.ant.Target.performTasks(Target.java:456)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
   at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
   at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:435)
   at org.apache.tools.ant.Target.performTasks(Target.java:456)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
   at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
   at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:435)
   at org.apache.tools.ant.Target.performTasks(Target.java:456)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
   at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
   at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:435)
   at org.apache.tools.ant.Target.performTasks(Target.java:456)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
   at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
   at org.apache.tools.ant.Main.runBuild(Main.java:857)
   at org.apache.tools.ant.Main.startAnt(Main.java:236)
   at org.apache.tools.ant.launch.Launcher.run(Launcher.java:287)
   at org.apache.tools.ant.launch.Launcher.main(Launcher.java:113)
Radu
Posts: 5221

Re: Duplicate binding slot error in oXygen 19

Fri Apr 07, 2017 8:09 am

Hi Dave,

Oxygen 19 upgraded the used Saxon libraries to the latest Saxon 9.7. There seems to be a bug in the Saxon libraries somehow triggered by your XSLT customization. It would be great if you could send us (support@oxygenxml.com) your PDF customization plugin or folder.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Radu
Posts: 5221

Re: Duplicate binding slot error in oXygen 19

Mon Apr 10, 2017 2:48 pm

Hi Dave,

It seems that the XSLT processor bug cannot be fixed without sample XSLT stylesheets to reproduce the problem with. So again, if at some point you could share your PDF customization with us, that would be of great help.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
DaveC
Posts: 18

Re: Duplicate binding slot error in oXygen 19

Wed Apr 12, 2017 3:04 pm

Hi Radu,

I have sent you my plugin. Please let me know if there is anything else I can do.

Thanks,
Dave C.
Radu
Posts: 5221

Re: Duplicate binding slot error in oXygen 19

Thu Apr 13, 2017 8:04 am

Hi,

Just to update this thread and connect it to the Saxonica issue:

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

It seems the problem derives from the fact that the "basic-settings.xsl" from your PDF customization is included both from your "custom.xsl" and from your "front-matter.xsl" so removing one of those includes may also fix the problem.

I will try to incorporate a patch for this in the next Oxygen 19.0 minor bug fix release.
In the meantime, as a workaround if you want to use the Saxon libraries which come with the regular DITA OT release instead of the latest Saxon libraries which are bundled with Oxygen, you can download the latest DITA OT release:

https://github.com/dita-ot/dita-ot/releases/download/2.4.5/dita-ot-2.4.5.zip

and in te "lib" folder it contains some older Saxon 9 libraries. You can manually copy those libraries to the equivalent "lib" folder in the DITA OT bundled with Oxygen that you are using for publishing.
After this, running the transformation should be done with these older Saxon libraries which did not contain the problem.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
DaveC
Posts: 18

Re: Duplicate binding slot error in oXygen 19

Thu Apr 13, 2017 3:25 pm

Hi Radu,

I removed the include of the basic-settings.xsl from the front-matter.xsl and it appears to be working again.

Thank you very much!
Dave C.
Costin
Posts: 275

Re: Duplicate binding slot error in oXygen 19

Tue Apr 25, 2017 2:22 pm

I just wanted to let you know that this problem has been resolved in the latest maintenance build of Oxygen 19.0, 2017042020 (released on April 24th):
Saxon 9.7/XSLT: Fixed Saxon 9.7 "Duplicate binding slot assignment" error that occurred when XSLT containing attribute set was included from two places in the main XSLT.

You can download it from our web site:
http://www.oxygenxml.com/download.html

The list of bug-fixes can be found here:
http://www.oxygenxml.com/build_history.html#2017042020

You can follow the release/build RSS feed here:
http://www.oxygenxml.com/rssBuildID.xml

To upgrade:
- For Windows and Linux you can install the new build in the same folder as the previous installation, it will automatically upgrade it.
Before you upgrade, if you have added files or made changes to any of the files from the Oxygen installation folder(especially the frameworks folder), you may want to create a backup of them because they will be overwritten during the upgrade procedure. Custom frameworks will be preserved but we recommend backing them up anyway, just to be safe.
- For Mac OS X you will have to either move the old folder from Applications to a different location and put the new version of Oxygen in its place, or install in a different folder. You can then copy any files you may have changed from the old folder (if any) to the new folder.

The Oxygen preferences will be preserved since they are located elsewhere (user home folder).

Let us know if you encounter further problems with this new build.

Regards,
Costin
Costin Sandoi
oXygen XML Editor and Author Support

Return to “DITA (Editing and Publishing DITA Content)”

Who is online

Users browsing this forum: No registered users and 0 guests