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

[jira] [Assigned] (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 ]

Mike Beckerle reassigned DAFFODIL-2673:
---------------------------------------

    Assignee: Mike Beckerle

> 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
>
> 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)