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/15 17:58:00 UTC

[jira] [Resolved] (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 resolved DAFFODIL-2673.
-------------------------------------
    Fix Version/s: 3.3.0
       Resolution: Fixed

fixed in 613c2b0c077f56dbb425e7ebab1a2d154cbdbd06

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