You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Michael Beckerle (JIRA)" <ji...@apache.org> on 2018/10/23 13:08:00 UTC

[jira] [Commented] (DAFFODIL-1282) Abort: Invariant broken when parser is fed random junk

    [ https://issues.apache.org/jira/browse/DAFFODIL-1282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16660624#comment-16660624 ] 

Michael Beckerle commented on DAFFODIL-1282:
--------------------------------------------

See also DAFFODIL-1602 about adding fuzz testing

> Abort: Invariant broken when parser is fed random junk 
> -------------------------------------------------------
>
>                 Key: DAFFODIL-1282
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1282
>             Project: Daffodil
>          Issue Type: Bug
>          Components: General
>            Reporter: Jessie Chab
>            Priority: Major
>
> I attempted to parse a file that I had accidentally overwritten with a saved parser. I got the following error:
> edu.illinois.ncsa.daffodil.exceptions.Abort: Invariant broken. Unsupported conversion to Long. (null,null) of type Tuple2
> edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:107)
> edu.illinois.ncsa.daffodil.exceptions.Assert$.invariantFailed(Assert.scala:148)
> edu.illinois.ncsa.daffodil.dpath.AsIntConverters$.asLong(AsIntConverters.scala:90)
> edu.illinois.ncsa.daffodil.processors.SpecifiedLengthExplicitBytesParser.getLength(SpecifiedLength.scala:314)
> 	at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:107)
> 	at edu.illinois.ncsa.daffodil.exceptions.Assert$.invariantFailed(Assert.scala:148)
> 	at edu.illinois.ncsa.daffodil.dpath.AsIntConverters$.asLong(AsIntConverters.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.SpecifiedLengthExplicitBytesParser.getLength(SpecifiedLength.scala:314)
> 	at edu.illinois.ncsa.daffodil.processors.SpecifiedLengthExplicitBytesParser$$anonfun$parse$8.apply(SpecifiedLength.scala:322)
> 	at edu.illinois.ncsa.daffodil.processors.SpecifiedLengthExplicitBytesParser$$anonfun$parse$8.apply(SpecifiedLength.scala:319)
> 	at edu.illinois.ncsa.daffodil.processors.WithParseErrorThrowing$class.withParseErrorThrowing(ParseErrors.scala:217)
> 	at edu.illinois.ncsa.daffodil.processors.SpecifiedLengthParserBase.withParseErrorThrowing(SpecifiedLength.scala:166)
> 	at edu.illinois.ncsa.daffodil.processors.SpecifiedLengthExplicitBytesParser.parse(SpecifiedLength.scala:319)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:131)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:130)
> 	at scala.Option.map(Option.scala:145)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase.parse(ElementCombinator1.scala:130)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.Rep$.loopExactlyTotalN(RepParsers.scala:104)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.RepExactlyTotalOccursCountParser.parseAllRepeats(RepParsers.scala:311)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.RepParser.parse(RepParsers.scala:76)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:171)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:169)
> 	at scala.collection.immutable.List.foreach(List.scala:318)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:169)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.ArrayCombinatorParser.parse(ElementKindParsers.scala:85)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:171)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:169)
> 	at scala.collection.immutable.List.foreach(List.scala:318)
> 	at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:169)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.SequenceCombinatorParser.parse(ElementKindParsers.scala:69)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.parsers.ComplexTypeParser.parse(ElementKindParsers.scala:55)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:131)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:130)
> 	at scala.Option.map(Option.scala:145)
> 	at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase.parse(ElementCombinator1.scala:130)
> 	at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3$$anon$1.liftedTree1$1(Runtime.scala:212)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3$$anon$1.<init>(Runtime.scala:211)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3.apply(Runtime.scala:208)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor$$anonfun$parse$3.apply(Runtime.scala:207)
> 	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
> 	at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
> 	at edu.illinois.ncsa.daffodil.ExecutionMode$$anonfun$usingRuntimeMode$1.apply(ExecutionMode.scala:80)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:207)
> 	at edu.illinois.ncsa.daffodil.processors.DataProcessor.parse(Runtime.scala:171)
> 	at edu.illinois.ncsa.daffodil.Main$$anonfun$71.apply(Main.scala:685)
> 	at edu.illinois.ncsa.daffodil.Main$$anonfun$71.apply(Main.scala:683)
> 	at edu.illinois.ncsa.daffodil.util.Timer$.getTimeResult(Timer.scala:91)
> 	at edu.illinois.ncsa.daffodil.util.Timer$.getResult(Timer.scala:50)
> 	at edu.illinois.ncsa.daffodil.Main$.run(Main.scala:682)
> 	at edu.illinois.ncsa.daffodil.Main$.main(Main.scala:1067)
> 	at edu.illinois.ncsa.daffodil.Main.main(Main.scala)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)