Bug #1579
Updated by Michael Kay almost 12 years ago
The following query (taken from W3C FOTS:fn-function-lookup-264) causes Saxon to throw an ArrayIndexOutOfBounds Exception:
<pre>
/root/function-lookup(fn:QName('http://www.w3.org/2005/xpath-functions', 'name'), 0)()
</pre>
Similar failures will occur when retrieving other functions that have an implicit first argument.
The stack trace of the exception thrown is as follows:
<pre>
at net.sf.saxon.functions.NameFn.evaluateItem(NameFn.java:33)
at net.sf.saxon.expr.Expression.iterate(Expression.java:429)
at com.saxonica.functions.hof.FirstClassFunction.invoke(FirstClassFunction.java:104)
at com.saxonica.functions.hof.DynamicFunctionCallDefinition$DynamicFunctionCall.call(DynamicFunctionCallDefinition.java:158)
at net.sf.saxon.functions.IntegratedFunctionCall.iterate(IntegratedFunctionCall.java:235)
at net.sf.saxon.value.MemoClosure.iterate(MemoClosure.java:105)
at net.sf.saxon.value.Value.asIterator(Value.java:127)
at net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:442)
at net.sf.saxon.expr.SlashExpression.map(SlashExpression.java:712)
at net.sf.saxon.expr.ContextMappingIterator.next(ContextMappingIterator.java:54)
at net.sf.saxon.tree.iter.HomogeneityCheckerIterator.next(HomogeneityCheckerIterator.java:60)
at net.sf.saxon.query.XQueryExpression$ErrorReportingIterator.next(XQueryExpression.java:917)
at net.sf.saxon.value.SequenceExtent.<init>(SequenceExtent.java:105)
at net.sf.saxon.value.SequenceExtent.makeSequenceExtent(SequenceExtent.java:147)
at net.sf.saxon.s9api.XQueryEvaluator.evaluate(XQueryEvaluator.java:379)
at com.saxonica.testdriver.FOTestSuiteDriver.runTestCase(FOTestSuiteDriver.java:1142)
</pre>