Re: [basex-talk] Bug? Local variable has not been allocated a stack frame slot

2015-04-09 Thread Marc van Grootel
Bummer, it's very tricky to isolate/repro in a minimal case.
At the moment don't have the time to pursue this further.
Maybe later.
--Marc

On Wed, Apr 8, 2015 at 2:27 PM, Marc van Grootel
marc.van.groo...@gmail.com wrote:
 Sure, I'm going to try this evening. If it's indeed Saxon we would
 probably need one anyways.
 --Marc

 On Wed, Apr 8, 2015 at 2:23 PM, Christian Grün
 christian.gr...@gmail.com wrote:
 Hi Marc,

 I would tend to say it's a Saxon issue. We have no Saxon-specific code
 in our XSLT functions, and the complete stack trace seems to indicate
 that something is going wrong in Saxon. – However, I can also have a
 look at this if you send me an SSCCE for that bug.

 Best,
 Christian



 On Wed, Apr 8, 2015 at 2:18 PM, Marc van Grootel
 marc.van.groo...@gmail.com wrote:
 Hi,

 I have hit something which is related to Saxon XSLT. The XSLT in
 question runs fine standalone (via Oxygen). But when hooked up via
 RESTXQ I get the type of tracebacks (i've listed all traceback from
 where it enters Saxon code below).

 Although I don't have a full repro case I did manage to make it run by
 modyfing the expr inside the group-starting-with.

 The code below uses a local variable $i in a predicate. This causes
 the error below.

 xsl:for-each-group select=$v
   group-starting-with=v[xs:integer(@c) eq $i][text()]
 ...
 /xsl:for-each-group

 The code below runs without problems. Here it's not accessing the
 local variable inside the grouping attribute.

 xsl:for-each-group select=$v
   group-starting-with=v[text()]
 ...
 /xsl:for-each-group

 Any idea if this is Saxon or BaseX issue?

 --Marc

 This is the top of the traceback.

 Version: BaseX 8.1
 Java: Oracle Corporation, 1.7.0_25
 OS: Windows 7, amd64
 Stack Trace:
 java.lang.ArrayIndexOutOfBoundsException: Local variable $i
 has not been allocated a stack frame slot
 at 
 net.sf.saxon.expr.LocalVariableReference.evaluateVariable(LocalVariableReference.java:102)
 at 
 net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:453)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:173)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:36)
 at 
 net.sf.saxon.expr.ValueComparison.effectiveBooleanValue(ValueComparison.java:692)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:139)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:131)
 at 
 net.sf.saxon.expr.sort.GroupStartingIterator.advance(GroupStartingIterator.java:47)
 at 
 net.sf.saxon.expr.sort.GroupMatchingIterator.next(GroupMatchingIterator.java:75)
 at 
 net.sf.saxon.expr.instruct.ForEachGroup.processLeavingTail(ForEachGroup.java:743)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.UserFunction.process(UserFunction.java:382)
 at 
 net.sf.saxon.expr.UserFunctionCall.process(UserFunctionCall.java:507)
 at 
 net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:662)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:431)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:373)
 at 
 net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:239)
 at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1057)
 at 
 net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:519)
 at 
 net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:349)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:323)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:56)
 at 
 net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:328)
 at net.sf.saxon.expr.LetExpression.eval(LetExpression.java:398)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:604)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:613)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:660)
 at net.sf.saxon.expr.instruct.Template.expand(Template.java:258)
 at 
 net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:536)
 at net.sf.saxon.Controller.transformDocument(Controller.java:2082)
 at 

[basex-talk] Bug? Local variable has not been allocated a stack frame slot

2015-04-08 Thread Marc van Grootel
Hi,

I have hit something which is related to Saxon XSLT. The XSLT in
question runs fine standalone (via Oxygen). But when hooked up via
RESTXQ I get the type of tracebacks (i've listed all traceback from
where it enters Saxon code below).

Although I don't have a full repro case I did manage to make it run by
modyfing the expr inside the group-starting-with.

The code below uses a local variable $i in a predicate. This causes
the error below.

xsl:for-each-group select=$v
  group-starting-with=v[xs:integer(@c) eq $i][text()]
...
/xsl:for-each-group

The code below runs without problems. Here it's not accessing the
local variable inside the grouping attribute.

xsl:for-each-group select=$v
  group-starting-with=v[text()]
...
/xsl:for-each-group

Any idea if this is Saxon or BaseX issue?

--Marc

This is the top of the traceback.

Version: BaseX 8.1
Java: Oracle Corporation, 1.7.0_25
OS: Windows 7, amd64
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: Local variable $i
has not been allocated a stack frame slot
at 
net.sf.saxon.expr.LocalVariableReference.evaluateVariable(LocalVariableReference.java:102)
at 
net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:453)
at 
net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:173)
at 
net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:36)
at 
net.sf.saxon.expr.ValueComparison.effectiveBooleanValue(ValueComparison.java:692)
at 
net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:139)
at 
net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:131)
at 
net.sf.saxon.expr.sort.GroupStartingIterator.advance(GroupStartingIterator.java:47)
at 
net.sf.saxon.expr.sort.GroupMatchingIterator.next(GroupMatchingIterator.java:75)
at 
net.sf.saxon.expr.instruct.ForEachGroup.processLeavingTail(ForEachGroup.java:743)
at net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
at 
net.sf.saxon.expr.instruct.UserFunction.process(UserFunction.java:382)
at net.sf.saxon.expr.UserFunctionCall.process(UserFunctionCall.java:507)
at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:662)
at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
at 
net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:431)
at 
net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:373)
at 
net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:239)
at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1057)
at 
net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:519)
at 
net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:349)
at 
net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:323)
at 
net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:56)
at 
net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:328)
at net.sf.saxon.expr.LetExpression.eval(LetExpression.java:398)
at 
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:604)
at net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
at 
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:613)
at net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:660)
at net.sf.saxon.expr.instruct.Template.expand(Template.java:258)
at 
net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:536)
at net.sf.saxon.Controller.transformDocument(Controller.java:2082)
at net.sf.saxon.Controller.transform(Controller.java:1903)
at org.basex.query.func.xslt.XsltTransform.transform


Re: [basex-talk] Bug? Local variable has not been allocated a stack frame slot

2015-04-08 Thread Christian Grün
Hi Marc,

I would tend to say it's a Saxon issue. We have no Saxon-specific code
in our XSLT functions, and the complete stack trace seems to indicate
that something is going wrong in Saxon. – However, I can also have a
look at this if you send me an SSCCE for that bug.

Best,
Christian



On Wed, Apr 8, 2015 at 2:18 PM, Marc van Grootel
marc.van.groo...@gmail.com wrote:
 Hi,

 I have hit something which is related to Saxon XSLT. The XSLT in
 question runs fine standalone (via Oxygen). But when hooked up via
 RESTXQ I get the type of tracebacks (i've listed all traceback from
 where it enters Saxon code below).

 Although I don't have a full repro case I did manage to make it run by
 modyfing the expr inside the group-starting-with.

 The code below uses a local variable $i in a predicate. This causes
 the error below.

 xsl:for-each-group select=$v
   group-starting-with=v[xs:integer(@c) eq $i][text()]
 ...
 /xsl:for-each-group

 The code below runs without problems. Here it's not accessing the
 local variable inside the grouping attribute.

 xsl:for-each-group select=$v
   group-starting-with=v[text()]
 ...
 /xsl:for-each-group

 Any idea if this is Saxon or BaseX issue?

 --Marc

 This is the top of the traceback.

 Version: BaseX 8.1
 Java: Oracle Corporation, 1.7.0_25
 OS: Windows 7, amd64
 Stack Trace:
 java.lang.ArrayIndexOutOfBoundsException: Local variable $i
 has not been allocated a stack frame slot
 at 
 net.sf.saxon.expr.LocalVariableReference.evaluateVariable(LocalVariableReference.java:102)
 at 
 net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:453)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:173)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:36)
 at 
 net.sf.saxon.expr.ValueComparison.effectiveBooleanValue(ValueComparison.java:692)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:139)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:131)
 at 
 net.sf.saxon.expr.sort.GroupStartingIterator.advance(GroupStartingIterator.java:47)
 at 
 net.sf.saxon.expr.sort.GroupMatchingIterator.next(GroupMatchingIterator.java:75)
 at 
 net.sf.saxon.expr.instruct.ForEachGroup.processLeavingTail(ForEachGroup.java:743)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.UserFunction.process(UserFunction.java:382)
 at 
 net.sf.saxon.expr.UserFunctionCall.process(UserFunctionCall.java:507)
 at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:662)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:431)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:373)
 at 
 net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:239)
 at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1057)
 at 
 net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:519)
 at 
 net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:349)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:323)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:56)
 at 
 net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:328)
 at net.sf.saxon.expr.LetExpression.eval(LetExpression.java:398)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:604)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:613)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:660)
 at net.sf.saxon.expr.instruct.Template.expand(Template.java:258)
 at 
 net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:536)
 at net.sf.saxon.Controller.transformDocument(Controller.java:2082)
 at net.sf.saxon.Controller.transform(Controller.java:1903)
 at org.basex.query.func.xslt.XsltTransform.transform


Re: [basex-talk] Bug? Local variable has not been allocated a stack frame slot

2015-04-08 Thread Marc van Grootel
Sure, I'm going to try this evening. If it's indeed Saxon we would
probably need one anyways.
--Marc

On Wed, Apr 8, 2015 at 2:23 PM, Christian Grün
christian.gr...@gmail.com wrote:
 Hi Marc,

 I would tend to say it's a Saxon issue. We have no Saxon-specific code
 in our XSLT functions, and the complete stack trace seems to indicate
 that something is going wrong in Saxon. – However, I can also have a
 look at this if you send me an SSCCE for that bug.

 Best,
 Christian



 On Wed, Apr 8, 2015 at 2:18 PM, Marc van Grootel
 marc.van.groo...@gmail.com wrote:
 Hi,

 I have hit something which is related to Saxon XSLT. The XSLT in
 question runs fine standalone (via Oxygen). But when hooked up via
 RESTXQ I get the type of tracebacks (i've listed all traceback from
 where it enters Saxon code below).

 Although I don't have a full repro case I did manage to make it run by
 modyfing the expr inside the group-starting-with.

 The code below uses a local variable $i in a predicate. This causes
 the error below.

 xsl:for-each-group select=$v
   group-starting-with=v[xs:integer(@c) eq $i][text()]
 ...
 /xsl:for-each-group

 The code below runs without problems. Here it's not accessing the
 local variable inside the grouping attribute.

 xsl:for-each-group select=$v
   group-starting-with=v[text()]
 ...
 /xsl:for-each-group

 Any idea if this is Saxon or BaseX issue?

 --Marc

 This is the top of the traceback.

 Version: BaseX 8.1
 Java: Oracle Corporation, 1.7.0_25
 OS: Windows 7, amd64
 Stack Trace:
 java.lang.ArrayIndexOutOfBoundsException: Local variable $i
 has not been allocated a stack frame slot
 at 
 net.sf.saxon.expr.LocalVariableReference.evaluateVariable(LocalVariableReference.java:102)
 at 
 net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:453)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:173)
 at 
 net.sf.saxon.expr.SingletonAtomizer.evaluateItem(SingletonAtomizer.java:36)
 at 
 net.sf.saxon.expr.ValueComparison.effectiveBooleanValue(ValueComparison.java:692)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:139)
 at 
 net.sf.saxon.pattern.PatternWithPredicate.matches(PatternWithPredicate.java:131)
 at 
 net.sf.saxon.expr.sort.GroupStartingIterator.advance(GroupStartingIterator.java:47)
 at 
 net.sf.saxon.expr.sort.GroupMatchingIterator.next(GroupMatchingIterator.java:75)
 at 
 net.sf.saxon.expr.instruct.ForEachGroup.processLeavingTail(ForEachGroup.java:743)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.UserFunction.process(UserFunction.java:382)
 at 
 net.sf.saxon.expr.UserFunctionCall.process(UserFunctionCall.java:507)
 at 
 net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:662)
 at 
 net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:138)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:431)
 at 
 net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:373)
 at 
 net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:239)
 at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1057)
 at 
 net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:519)
 at 
 net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:349)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:323)
 at 
 net.sf.saxon.expr.instruct.DocumentInstr.evaluateItem(DocumentInstr.java:56)
 at 
 net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:328)
 at net.sf.saxon.expr.LetExpression.eval(LetExpression.java:398)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:604)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:613)
 at 
 net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:875)
 at 
 net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:660)
 at net.sf.saxon.expr.instruct.Template.expand(Template.java:258)
 at 
 net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:536)
 at net.sf.saxon.Controller.transformDocument(Controller.java:2082)
 at net.sf.saxon.Controller.transform(Controller.java:1903)
 at org.basex.query.func.xslt.XsltTransform.transform



-- 
--Marc