Bug #1573
closedInternal Saxon error using xsl:iterate
100%
Description
The following problem occurs when running the attached stylesheet (with itself as source document) under 9.4.0.4
* Internal Saxon error: local variable encountered whose binding has been deleted
Variable name: X
Line number of reference: 16 in file:/Users/mike/bugs/2012/lumley/test.xsl
Line number of declaration: 10 in file:/Users/mike/bugs/2012/lumley/test.xsl
Files
Updated by Michael Kay over 12 years ago
The problem occurs when the only reference to a local variable is in the initializer (select expression) of an xsl:param within an xsl:iterate instruction. The optimizer is attempting to inline the local variable (replace the variable reference with its value) but the xsl:iterate instruction is not passing on the request. This can also happen where a variable reference being inlined appears in the "on-completion" part of the instruction.
A workaround in this example would be to prevent inlining of the variable by including a dummy reference to the variable that doesn't affect the outcome, e.g. if ($X) then () else ().
A patch is in Subversion ready for the next maintenance release on the 9.4 branch.
Updated by Michael Kay over 11 years ago
- Status changed from In Progress to Resolved
- Fixed in version set to 9.4.0.6
Updated by O'Neil Delpratt over 11 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in version changed from 9.4.0.6 to 9.4.0.8
Bug now closed. Successfully applied to the Saxon 9.4.0.8 maintenance release.
Please register to edit this issue