-
Bug
-
Resolution: Fixed
-
Normal
-
None
-
None
-
None
When parsing with the PCAP schema in daffodil-examples, and parsing against a file that is not PCAP (e.g. docx) the magic number DFDL expression will set byteOrder to an invalid value. This causes a compile time SDE at runtime, which causes an invariant broken abort:
edu.illinois.ncsa.daffodil.exceptions.Abort: Invariant broken.
|
edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:95)
|
edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:123)
|
edu.illinois.ncsa.daffodil.ExecutionMode$.requireCompilerMode(ExecutionMode.scala:97)
|
edu.illinois.ncsa.daffodil.dsom.ImplementsThrowsSDE$class.SDE(SDE.scala:231)
|
at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:95)
|
at edu.illinois.ncsa.daffodil.exceptions.Assert$.invariant(Assert.scala:123)
|
at edu.illinois.ncsa.daffodil.ExecutionMode$.requireCompilerMode(ExecutionMode.scala:97)
|
at edu.illinois.ncsa.daffodil.dsom.ImplementsThrowsSDE$class.SDE(SDE.scala:231)
|
at edu.illinois.ncsa.daffodil.dsom.SchemaComponent.SDE(SchemaComponent.scala:48)
|
at edu.illinois.ncsa.daffodil.schema.annotation.props.Enum.stringToEnum(Properties.scala:124)
|
at edu.illinois.ncsa.daffodil.schema.annotation.props.gen.ByteOrder$.apply(GeneratedCode.scala:2775)
|
at edu.illinois.ncsa.daffodil.processors.RuntimeExplicitByteOrderMixin$class.getByteOrder(PrimitivesBinaryNumber.scala:83)
|
at edu.illinois.ncsa.daffodil.processors.UnsignedKnownLengthRuntimeByteOrderBinaryNumber.getByteOrder(PrimitivesBinaryNumber.scala:179)
|
at edu.illinois.ncsa.daffodil.processors.BinaryNumberBase$$anon$1$$anonfun$parse$1.apply(PrimitivesBinaryNumber.scala:143)
|