Bug #4050
closed
Internal error : net.sf.saxon.value.StringValue cannot be cast to net.sf.saxon.om.NodeInfo
Fix Committed on Branch:
9.9
Fixed in Maintenance Release:
Description
The error occurs when compiling the xslt-compiler-in-xslt starting with a SEF file produced by the xslt-compiler-in-java.
That is, transform
-xsl:XSLT-SEF-compiler.xsl -s:XSLT-SEF-compiler.xsl -im:compile-complete -export:Users/mike/Desktop/temp/compiler.sef
then
-xsl:/Users/mike/Desktop/temp/compiler.sef -s:XSLT-SEF-compiler.xsl -im:compile-complete -o:/Users/mike/Desktop/temp/compiler2.sef -t --generateByteCode:off
The function in question performs indexed access to the sequence supplied as the second argument. When this happens, and the supplied value is not already an indexed value, the code for evaluating an IndexedFilterExpression modifies the argument value in-situ to be an IndexedValue equivalent to the value supplied. It is identifying the stack location to overwrite based on the slot number held in the UserFunctionParameter object referenced from the LocalVariableReference. But the slot number in the UserFunctionParameter is not being set up when a SEF file is reloaded, so the wrong stack slot is overwritten.
- Category set to XSLT export
- Status changed from New to Resolved
- Priority changed from Low to Normal
- Applies to branch 9.9 added
- Fix Committed on Branch 9.9 added
Resolved in the package loader by ensuring that the slot numbers are initialized properly.
- % Done changed from 0 to 100
- Fixed in Maintenance Release 9.9.1.1 added
Bug fix applied to the Saxon 9.9.1.1 maintenance release.
- Status changed from Resolved to Closed
Please register to edit this issue
Also available in: Atom
PDF