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

fillByte value not validated - Abort: Invariant Broken

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 2.0.0
    • 2.0.0
    • Front End
    • None

      If you specify an invalid value for dfdl:fillByte (e.g. '10'), daffodil does not fail gracefully with a helpful error message. Instead, you get the following:

      [error] Test edu.illinois.ncsa.daffodil.section12.aligned_data.TestAlignedData.test_fillByte_01 failed: edu.illinois.ncsa.daffodil.exceptions.Abort: Invariant broken.
      [error] edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:105)
      [error] edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:133)
      [error] edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$class.fillByteForCharacterKnownEncoding(TermEncodingMixin.scala:231)
      [error] edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$class.edu$illinois$ncsa$daffodil$dsom$TermEncodingMixin$$fillByteForCharacter(TermEncodingMixin.scala:214)
      [error]     at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:105)
      [error]     at edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:133)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$class.fillByteForCharacterKnownEncoding(TermEncodingMixin.scala:231)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$class.edu$illinois$ncsa$daffodil$dsom$TermEncodingMixin$$fillByteForCharacter(TermEncodingMixin.scala:214)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$$anonfun$fillByteValue$1.apply$mcI$sp(TermEncodingMixin.scala:201)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$$anonfun$fillByteValue$1.apply(TermEncodingMixin.scala:193)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$$anonfun$fillByteValue$1.apply(TermEncodingMixin.scala:193)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.liftedTree1$1(OOLAG.scala:583)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:581)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:579)
      [error]     at edu.illinois.ncsa.daffodil.dsom.TermEncodingMixin$class.fillByteValue(TermEncodingMixin.scala:203)
      [error]     at edu.illinois.ncsa.daffodil.dsom.Term.fillByteValue$lzycompute(Term.scala:69)
      [error]     at edu.illinois.ncsa.daffodil.dsom.Term.fillByteValue(Term.scala:69)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase.edu$illinois$ncsa$daffodil$dsom$ElementBase$$createElementRuntimeData(ElementBase.scala:422)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase$$anonfun$elementRuntimeData$1.apply(ElementBase.scala:351)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase$$anonfun$elementRuntimeData$1.apply(ElementBase.scala:339)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.liftedTree1$1(OOLAG.scala:583)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:581)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:579)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase.elementRuntimeData$lzycompute(ElementBase.scala:352)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase.elementRuntimeData(ElementBase.scala:339)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase.runtimeData$lzycompute(ElementBase.scala:259)
      [error]     at edu.illinois.ncsa.daffodil.dsom.ElementBase.runtimeData(ElementBase.scala:259)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$5.apply(Compiler.scala:120)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$5.apply(Compiler.scala:120)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.liftedTree1$1(OOLAG.scala:583)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:581)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:579)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGValue.valueAsAny(OOLAG.scala:577)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGHost$$anonfun$checkErrors$2.apply$mcV$sp(OOLAG.scala:291)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGHost$$anonfun$checkErrors$2.apply(OOLAG.scala:291)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGHost$$anonfun$checkErrors$2.apply(OOLAG.scala:291)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$.keepGoing(OOLAG.scala:80)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGHost.checkErrors(OOLAG.scala:290)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$OOLAGHost.isError(OOLAG.scala:350)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory.edu$illinois$ncsa$daffodil$compiler$ProcessorFactory$$super$isError(Compiler.scala:133)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1$$anonfun$apply$mcZ$sp$2.apply$mcZ$sp(Compiler.scala:133)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1$$anonfun$apply$mcZ$sp$2.apply(Compiler.scala:124)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1$$anonfun$apply$mcZ$sp$2.apply(Compiler.scala:124)
      [error]     at edu.illinois.ncsa.daffodil.dsom.oolag.OOLAG$.keepGoing(OOLAG.scala:80)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1.apply$mcZ$sp(Compiler.scala:124)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1.apply(Compiler.scala:124)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory$$anonfun$isError$1.apply(Compiler.scala:124)
      [error]     at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
      [error]     at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingCompilerMode$1.apply(ExecutionMode.scala:79)
      [error]     at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingCompilerMode$1.apply(ExecutionMode.scala:79)
      [error]     at edu.illinois.ncsa.daffodil.compiler.ProcessorFactory.isError(Compiler.scala:123)
      [error]     at edu.illinois.ncsa.daffodil.compiler.Compiler.compileSource(Compiler.scala:324)
      [error]     at edu.illinois.ncsa.daffodil.tdml.TestCase.edu$illinois$ncsa$daffodil$tdml$TestCase$$compileProcessor(TDMLRunner.scala:402)
      [error]     at edu.illinois.ncsa.daffodil.tdml.TestCase.getProcessor(TDMLRunner.scala:419)
      [error]     at edu.illinois.ncsa.daffodil.tdml.UnparserTestCase.runProcessor(TDMLRunner.scala:745)
      [error]     at edu.illinois.ncsa.daffodil.tdml.TestCase.run(TDMLRunner.scala:536)
      [error]     at edu.illinois.ncsa.daffodil.tdml.DFDLTestSuite.runOneTestWithDataVolumes(TDMLRunner.scala:318)
      [error]     at edu.illinois.ncsa.daffodil.tdml.DFDLTestSuite.runOneTest(TDMLRunner.scala:306)
      [error]     at edu.illinois.ncsa.daffodil.tdml.Runner.runOneTest(RunnerFactory.scala:48)
      [error]     at edu.illinois.ncsa.daffodil.section12.aligned_data.TestAlignedData.test_fillByte_01(TestAlignedData.scala:213)
      [error]     ...
       

      See test fillByte_01 in the following files:
      daffodil-test/src/test/scala-debug/edu/illinois/ncsa/daffodil/section12/aligned_data/TestAlignedDataDebug.scala
      daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section12/aligned_data/TestAlignedData.scala
      daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section12/aligned_data/Aligned_Data.tdml

              dthompson David Thompson
              jchab Jessie Chab
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: