Project

Profile

Help

Bug #2320

closed

"invalid slot number for local variable" error when streaming

Added by Michael Kay about 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Streaming
Sprint/Milestone:
Start date:
2015-02-24
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.6
Fix Committed on Branch:
9.6
Fixed in Maintenance Release:
Platforms:

Description

The error "Internal error: invalid slot number for local variable (No slot allocated)" may occur in XSLT stylesheets that use streaming.

Specifically, the error occurs when an expression such as an arithmetic expression has one streaming operand, and another non-streaming operand in which local variables are declared: for example

format-number(. + (let $c := string(../@code) return if ($c castable as xs:double) then number($c) else 0), '0.00')

More specifically by "an expression such as an arithmetic expression" I mean an expression that has no explicit streaming support but uses the fallback mechanisms; this generally means an expression whose operands are atomized and which does not accept multi-item sequences as its operands. Value comparisons probably fall into this category; general comparisons do not.

A test case sx-arithmetic-007 has been created in the XSLT 3.0 test suite.

Please register to edit this issue

Also available in: Atom PDF