Page 1 of 1

Stack overflow error new to oXygen 19

Posted: Wed Apr 12, 2017 6:51 pm
by whyme
In oXygen 19 I'm getting java.lang.StackOverflowError for files that are validated fine in oXygen 18, probably because of the Saxon engine upgrade.

After some troubleshooting I determined that the problem was due to instances of

Code: Select all

<xsl:attribute name="xml:id"/>
.

I'm just registering the observation, in case other users might be experiencing the same issues and scratching their heads.

Re: Stack overflow error new to oXygen 19

Posted: Wed Apr 12, 2017 7:29 pm
by whyme
Update: after further futzing about I discovered that the following code generates the same stack overflow error. If you remove the 'xml:' or replace it with another namespace prefix, or if you move the variable declaration into its next sibling the error disappears. A Saxon glitch?

Code: Select all

<xsl:template match="/">
<results>
<xsl:for-each select="1 to 3">
<xsl:variable name="pos" select="position()"/>
<xsl:for-each select="7 to 9">
<xsl:element name="test">
<xsl:attribute name="xml:id" select="concat('hi', string($pos))"/>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</results>
</xsl:template>

Re: Stack overflow error new to oXygen 19

Posted: Thu Apr 13, 2017 8:30 am
by Radu
Hi,

Right, looks like a problem in Saxon 9.7 we ship with Oxygen 19.0.
I registered an issue for it on the Saxonica issues list:

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

If Michael Kay comes up with a fix for it I will try to bundle it in a future Oxygen 19.0 minor bug fix release.

Regards,
Radu

Re: Stack overflow error new to oXygen 19

Posted: Tue Apr 25, 2017 2:39 pm
by Costin
Hi whyme,

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 Stack Overflow error in Saxon 9.7 XSLT processor when processing XSLTs defining xml:id attributes.
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