Another assertion failure. This one looks more subtle.
The smallest test case I've found is:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:param name="nodeset" select="/" />
<xsl:param name="index" select="1" />
<xsl:value-of select="$nodeset [$index]/@*" />
<xsl:apply-templates>
<xsl:with-param name="nodeset" select="$nodeset" />
<xsl:with-param name="index" select="$index + 1" />
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
The interesting thing is that it is necessary to reference some child
of $nodeset [$index] to reproduce the error.
(Apply it to any XML document in which the document element has child
elements, such as '<foo><bar/></foo>', or even itself)
.robin.