Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-653

CLI Debugger: Invariant Broken when running "info data" before parse has begun

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • s10
    • s10
    • None
    • None

      I ran the following command(s):

      echo "0,1,2,3" > input.txt
      daffodil-core/target/start -d parse -s daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section06/entities/charClassEntities.dfdl.xsd -r matrix input.txt

      When i get the (debug) prompt, I enter "info data"
      and I get this error/traceback:

      edu.illinois.ncsa.daffodil.exceptions.Abort: Invariant broken.
      edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:87)
      edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:115)
      edu.illinois.ncsa.daffodil.ExecutionMode$.requireCompilerMode(ExecutionMode.scala:61)
      edu.illinois.ncsa.daffodil.dsom.AnnotatedSchemaComponent.findPropertyOption(SchemaComponent.scala:410)
      at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:87)
      at edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:115)
      at edu.illinois.ncsa.daffodil.ExecutionMode$.requireCompilerMode(ExecutionMode.scala:61)
      at edu.illinois.ncsa.daffodil.dsom.AnnotatedSchemaComponent.findPropertyOption(SchemaComponent.scala:410)
      at edu.illinois.ncsa.daffodil.dsom.FindPropertyMixin$class.findProperty(PropertyScoping.scala:133)
      at edu.illinois.ncsa.daffodil.dsom.SchemaComponent.findProperty(SchemaComponent.scala:69)
      at edu.illinois.ncsa.daffodil.dsom.FindPropertyMixin$class.getProperty(PropertyScoping.scala:147)
      at edu.illinois.ncsa.daffodil.dsom.SchemaComponent.getProperty(SchemaComponent.scala:69)
      at edu.illinois.ncsa.daffodil.schema.annotation.props.gen.RepresentationMixin$class.representation(GeneratedCode.scala:376)
      at edu.illinois.ncsa.daffodil.dsom.ElementBase.representation(Elements.scala:122)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$Info$InfoData$.printData(InteractiveDebugger.scala:777)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$Info$InfoData$.apply(InteractiveDebugger.scala:831)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$Info$$anonfun$apply$9.apply(InteractiveDebugger.scala:650)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$Info$$anonfun$apply$9.apply(InteractiveDebugger.scala:648)
      at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
      at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:33)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$Info$.apply(InteractiveDebugger.scala:648)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger$DebugCommandBase$.apply(InteractiveDebugger.scala:330)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger.edu$illinois$ncsa$daffodil$debugger$InteractiveDebugger$$runCommand(InteractiveDebugger.scala:209)
      at edu.illinois.ncsa.daffodil.debugger.InteractiveDebugger.after(InteractiveDebugger.scala:134)
      at edu.illinois.ncsa.daffodil.debugger.Debugger$.after(Debugger.scala:83)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:133)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:319)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$3.apply(Parser.scala:317)
      at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
      at scala.collection.immutable.List.foreach(List.scala:76)
      at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:317)
      at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:132)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3$$anon$1.liftedTree1$1(Runtime.scala:156)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3$$anon$1.<init>(Runtime.scala:155)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3.apply(Runtime.scala:152)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3.apply(Runtime.scala:151)
      at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:46)
      at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:46)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:151)
      at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:146)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$74.apply(Main.scala:369)
      at edu.illinois.ncsa.daffodil.Main$$anonfun$74.apply(Main.scala:369)
      at edu.illinois.ncsa.daffodil.debugger.DebugUtil$.time(DebugUtil.scala:117)
      at edu.illinois.ncsa.daffodil.Main$.run(Main.scala:369)
      at edu.illinois.ncsa.daffodil.Main$.main(Main.scala:573)
      at edu.illinois.ncsa.daffodil.Main.main(Main.scala)

      If I rerun the debugger and continue the parse without running "info data", everything works fine. "info infoset" seems fine.. I'm not sure why "info data" is doing this.

              jchab Jessie Chab
              jchab Jessie Chab
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: