Build: #228 was successful Changes by Steve Lawrence

Build result summary

Details

Completed
Queue duration
< 1 second
Duration
13 minutes
Labels
None
Revision
9311c70d22e499b701a9900132d9a1e50d91283e
Total tests
4051
Successful since
#224 ()

Tests

  • 0 New failures
  • 0 Existing failures
  • 0 Fixed

Code commits

Author Commit Message Commit date
Steve Lawrence Steve Lawrence 9311c70d22e499b701a9900132d9a1e50d91283e Ensure Bit/ByteOrderChange parsers always exist at root
If the dfdl:byteOrder or dfdl:bitOrder properties were not provided,
Daffodil did not complain, and it would not insert a Bit/ByteOrderChange
parser at root. This meant that Daffodil would use a default value,
which in some cases caused incorrect behavior. It also meant that the
check for valid bit and byte orders (e.g. not bigEndian &
leastSignificantBitFirst) never occurred since that only happend in
ByteOrderChange parsers, meaning it could allow invalid bit/byte order
combinations.

This changes Daffodil so the root element will always insert Bit and
ByteOrderChange parsers, ensuring that the validity of the properties
are correct and ensuring correct parsing/unparsing. This means that
byteOrder is now always required, even in some cases where it might not
technically be needed.

This also modifies the initial UState/PState creation to not set
bit/byte order, but to instead rely on the Bit/ByteOrderChange parsers
to always be inserted first thing.

DFDL-1835
Steve Lawrence Steve Lawrence 5a335fbe656a5b4995b97054c1b28cf0b68f071c Calculate the approximate length of delimited and pattern lengthKinds for alignment
By assuming the length of delimited and pattern lengthKinds was 1,
Daffodil was unable to optimize out some alignment unparsers, which
could lead to deadlocks.

This changes that so the length of delimited or pattern lengthKinds is a
multiple of the length of the encoding. This allows Daffodil to optimize
out some alignment unparsers and prevent deadlocks.

DFDL-1836

Jira issues

IssueDescriptionStatus
Unknown Issue TypeDFDL-1835Could not obtain issue details from Jira
Unknown Issue TypeDFDL-1836Could not obtain issue details from Jira