You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Dave Thompson (Jira)" <ji...@apache.org> on 2022/03/17 13:47:00 UTC

[jira] [Closed] (DAFFODIL-2673) enum no-match on unparsing causes Invariant Broken abort

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

Dave Thompson closed DAFFODIL-2673.
-----------------------------------

Verified the specified commit (commit 613c2b0c077f56dbb425e7ebab1a2d154cbdbd06) is included in the latest pull from the daffodil repository.

Verified changes identified in commit comments were implemented.

Verified affected daffodil subproject sbt test suites executes successfully, including the added tests.

Verified "Invariant broken" error occurs on a pre-fix commit.

Verified "Invariant broken" error does not occurs on the fix commit.

Verified the nightly test schemas compile and save successfully.

Verified the nightly test suite executes successfully.

> enum no-match on unparsing causes Invariant Broken abort
> --------------------------------------------------------
>
>                 Key: DAFFODIL-2673
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2673
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Back End, Unparsing
>    Affects Versions: 3.2.1
>            Reporter: Mike Beckerle
>            Assignee: Mike Beckerle
>            Priority: Critical
>             Fix For: 3.3.0
>
>
> Reproducible in mil-std-2045 public schema. 
> Just change the value of 
> {code:java}
> <enumeration value="OK_6016F" dfdlx:repValues="6"/>{code}
> to some other string, then run test
> test_2045_D1_all_fields
> (These are on mbeckerle's fork + pull request currently as of writing this. But will probably be merged before this gets attention.)
> What is going on is that an array is iterating, an unparse fails because the string-to-int mapping for the enum fails.
> This should fail the unparse, but not with an Invariant broken. 
> I get this:
> {code:java}
>  Invariant broken: state.processorStatus.eq(org.apache.daffodil.processors.Success)
> org.apache.daffodil.exceptions.Assert$.abort(Assert.scala:137)
> org.apache.daffodil.processors.unparsers.RepeatingChildUnparser.endArrayOrOptional(SequenceChildUnparsers.scala:110){code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)