You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Steve Lawrence (JIRA)" <ji...@apache.org> on 2019/01/14 18:28:01 UTC

[jira] [Updated] (DAFFODIL-1221) Abort: Invariant Broken when XPath expression moves past root

     [ https://issues.apache.org/jira/browse/DAFFODIL-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Lawrence updated DAFFODIL-1221:
-------------------------------------
    Fix Version/s: 2.3.0

> Abort: Invariant Broken when XPath expression moves past root
> -------------------------------------------------------------
>
>                 Key: DAFFODIL-1221
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1221
>             Project: Daffodil
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 1.0.0
>            Reporter: Jessie Chab
>            Assignee: Dave Thompson
>            Priority: Major
>             Fix For: 2.3.0
>
>
> If the XPath expression extends beyond the root of the tree, you get the following error:
> {code}
> [error] Test edu.illinois.ncsa.daffodil.section23.dfdl_expressions.TestDFDLExpressions.test_beyondRoot_01 failed: edu.illinois.ncsa.daffodil.exceptions.Abort: Invariant broken. UpMove past root. Should never happen since an expression like that won't typecheck statically.
> [error] edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:95)
> [error] edu.illinois.ncsa.daffodil.exceptions.Assert$.invariantFailed(Assert.scala:136)
> [error] edu.illinois.ncsa.daffodil.dpath.UpMove$$anonfun$1.apply(UpDownMoves.scala:32)
> [error] edu.illinois.ncsa.daffodil.dpath.UpMove$$anonfun$1.apply(UpDownMoves.scala:32)
> [error]     at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:95)
> [error]     at edu.illinois.ncsa.daffodil.exceptions.Assert$.invariantFailed(Assert.scala:136)
> [error]     at edu.illinois.ncsa.daffodil.dpath.UpMove$$anonfun$1.apply(UpDownMoves.scala:32)
> [error]     at edu.illinois.ncsa.daffodil.dpath.UpMove$$anonfun$1.apply(UpDownMoves.scala:32)
> [error]     at edu.illinois.ncsa.daffodil.util.Maybe$.getOrElse$extension(Maybe.scala:30)
> [error]     at edu.illinois.ncsa.daffodil.dpath.UpMove$.run(UpDownMoves.scala:32)
> [error]     at edu.illinois.ncsa.daffodil.dpath.CompiledDPath.run(DPathRuntime.scala:85)
> [error]     at edu.illinois.ncsa.daffodil.dpath.CompiledDPath.runExpression(DPathRuntime.scala:31)
> [error]     at edu.illinois.ncsa.daffodil.dpath.RuntimeExpressionDPath.liftedTree1$1(DPath.scala:92)
> [error]     at edu.illinois.ncsa.daffodil.dpath.RuntimeExpressionDPath.evaluate(DPath.scala:91)
> [error]     at edu.illinois.ncsa.daffodil.processors.parsers.ExpressionEvaluationParser.eval(ExpressionEvaluatingParsers.scala:30)
> [error]     at edu.illinois.ncsa.daffodil.processors.parsers.IVCParser$$anonfun$parse$1.apply(ExpressionEvaluatingParsers.scala:44)
> [error]     at edu.illinois.ncsa.daffodil.processors.parsers.IVCParser$$anonfun$parse$1.apply(ExpressionEvaluatingParsers.scala:41)
> [error]     at edu.illinois.ncsa.daffodil.processors.WithParseErrorThrowing$class.withParseErrorThrowing(ParseErrors.scala:205)
> [error]     at edu.illinois.ncsa.daffodil.processors.parsers.ExpressionEvaluationParser.withParseErrorThrowing(ExpressionEvaluatingParsers.scala:19)
> [error]     at edu.illinois.ncsa.daffodil.processors.parsers.IVCParser.parse(ExpressionEvaluatingParsers.scala:41)
> ....
> {code}
> I first noticed this with the interactive debugger, but have written a TDML test to demonstrate the issue:
> test_beyondRoot_01
> daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/expressions.tdml
> daffodil-test/src/test/scala-debug/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/TestDFDLExpressionsDebug.scala
> daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/TestDFDLExpressions.scala



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)