[oXygen-user] Debugger says that watched variable is in "Slot -1"

Gioele Barabucci
Sun Jan 3 13:24:20 CST 2016


Hello,

while debugging an XSLT function, I added a watch on the parameter
`$origin` and another on `string($origin//key)`. The former works
flawlessly, the latter always displays the following error:

> Error: Local variable $origin uses slot -1 but only 3 slots
> are allocated on the stack frame

I get this error when the debugger stops at the breakpoint I have placed
on the `xsl:if` instruction of the following function:

    <xsl:function name="f:siblings-until">
        <xsl:param name="origin" as="element()"/>
        <xsl:param name="stopper" as="xs:QName"/>

        <xsl:variable name="next-sibling"
select="$origin/following-sibling::*[1]"/>

        <xsl:variable name="is-stopper" as="xs:boolean"
select="node-name($origin) eq $stopper"/>
        <xsl:variable name="is-last" as="xs:boolean"
select="not($next-sibling)"/>

        <xsl:if test="not($is-stopper) and not($is-last)">
            <xsl:sequence select="$origin,
f:siblings-until($next-sibling, $stopper)"/>
        </xsl:if>
    </xsl:function>

Regards,

-- 
Gioele Barabucci <>


More information about the oXygen-user mailing list