basex icon indicating copy to clipboard operation
basex copied to clipboard

Infinite Loop When Inlining Function Items (II)

Open ChristianGruen opened this issue 4 years ago • 0 comments

Query

let $p := function($c, $q) {
  $c/* ! $q(?, $q)(.)
}
return $p((), $p)

(: earlier version :)
let $p := function($c, $q) {
  for-each($c/*, $q(?, $q))
}
return $p((), $p)

Stack Trace

java.lang.StackOverflowError
        at java.base/java.lang.invoke.DirectMethodHandle.allocateInstance(DirectMethodHandle.java:521)
        at org.basex.query.expr.path.Step.toString(Step.java:404)
        at org.basex.query.QueryString.token(QueryString.java:39)
        ...
        at org.basex.query.expr.ExprInfo.toString(ExprInfo.java:56)
        at org.basex.query.CompileContext.lambda$0(CompileContext.java:306)
        at org.basex.query.QueryInfo.compInfo(QueryInfo.java:66)
        at org.basex.query.CompileContext.info(CompileContext.java:110)
        at org.basex.query.CompileContext.replaceWith(CompileContext.java:300)
        at org.basex.query.CompileContext.replaceWith(CompileContext.java:286)
        at org.basex.query.CompileContext.preEval(CompileContext.java:256)
        at org.basex.query.func.PartFunc.optimize(PartFunc.java:56)
        at org.basex.query.expr.Arr.inline(Arr.java:74)
        at org.basex.query.InlineContext.inline(InlineContext.java:120)
        at org.basex.query.InlineContext.inline(InlineContext.java:104)
        at org.basex.query.expr.Arr.inline(Arr.java:74)
        at org.basex.query.expr.SimpleMap.inline(SimpleMap.java:484)
        at org.basex.query.InlineContext.inlineOrNull(InlineContext.java:94)
        at org.basex.query.expr.gflwor.GFLWOR.inline(GFLWOR.java:980)
        at org.basex.query.expr.gflwor.GFLWOR.inlineForLet(GFLWOR.java:363)
        at org.basex.query.expr.gflwor.GFLWOR.optimize(GFLWOR.java:108)
        at org.basex.query.value.item.FuncItem.inline(FuncItem.java:209)
        at org.basex.query.func.DynFuncCall.optimize(DynFuncCall.java:100)
        at org.basex.query.value.item.FuncItem.inline(FuncItem.java:207)
        at org.basex.query.func.DynFuncCall.optimize(DynFuncCall.java:100)
        at org.basex.query.expr.Arr.inline(Arr.java:74)
        at org.basex.query.expr.SimpleMap.inline(SimpleMap.java:484)
        at org.basex.query.InlineContext.inlineOrNull(InlineContext.java:94)
        at org.basex.query.expr.gflwor.GFLWOR.inline(GFLWOR.java:980)
        ...

ChristianGruen avatar Aug 14 '21 10:08 ChristianGruen