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 2023/02/06 21:00:00 UTC

[jira] [Commented] (DAFFODIL-2782) NegativeArraySizeException when hexBinary has length > 1,073,741,823

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

Dave Thompson commented on DAFFODIL-2782:
-----------------------------------------

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

Verified, via review, change identified in the commit comment were implemented. 

Verified the affected daffodil subproject sbt test suites executed successfully.

Verified the nightly test schemas compile and save successfully.

Verified the nightly test suite executes successfully.

Will close after reporter verifies the resolution fixes the issue with their data.

> NegativeArraySizeException when hexBinary has length > 1,073,741,823
> --------------------------------------------------------------------
>
>                 Key: DAFFODIL-2782
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2782
>             Project: Daffodil
>          Issue Type: Bug
>    Affects Versions: 3.4.0
>            Reporter: Lara Blatchford
>            Priority: Major
>             Fix For: 3.5.0
>
>
> The test data would have to be approved for release by DISA. The test data request form and information about the files to be requested can be provided upon request.
> The exact value that causes the abort is unclear, but the following large integers occur in the file as seen using DISA's CIVA NITF viewer:
> NITF header file length:  002203434188
> 2 image segments each with length: 1101716399
>  
> Exception in thread "main" org.apache.daffodil.exceptions.Abort: Invariant broken. Runtime.scala - Leaked exception: java.lang.NegativeArraySizeException
> java.lang.NegativeArraySizeException
>         at org.apache.daffodil.util.Misc$.bytes2Hex(Misc.scala:313)
>         at org.apache.daffodil.infoset.DISimple.dataValueAsString(InfosetImpl.scala:1348)
>         at org.apache.daffodil.infoset.XMLTextInfosetOutputter.startSimple(XMLTextInfosetOutputter.scala:115)
>         at org.apache.daffodil.japi.infoset.InfosetOutputterProxy.startSimple(Infoset.scala:480)
>         at org.apache.daffodil.infoset.InfosetWalker.infosetWalkerStepMove(InfosetWalker.scala:455)
>         at org.apache.daffodil.infoset.InfosetWalker.maybeDoStep(InfosetWalker.scala:297)
>         at org.apache.daffodil.infoset.InfosetWalker.walk(InfosetWalker.scala:270)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parse(SequenceParserBases.scala:368)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.ElementParserBase.parse(ElementCombinator1.scala:135)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne(UnseparatedSequenceParsers.scala:29)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne$(UnseparatedSequenceParsers.scala:27)
>         at org.apache.daffodil.processors.parsers.ScalarOrderedUnseparatedSequenceChildParser.parseOne(UnseparatedSequenceParsers.scala:37)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstanceWithMaybePoU(SequenceParserBases.scala:438)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstance(SequenceParserBases.scala:423)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parse(SequenceParserBases.scala:266)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.SpecifiedLengthParserBase.parse(SpecifiedLengthParsers.scala:76)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.ElementParserBase.parse(ElementCombinator1.scala:135)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne(UnseparatedSequenceParsers.scala:29)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne$(UnseparatedSequenceParsers.scala:27)
>         at org.apache.daffodil.processors.parsers.ScalarOrderedUnseparatedSequenceChildParser.parseOne(UnseparatedSequenceParsers.scala:37)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstanceWithMaybePoU(SequenceParserBases.scala:438)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstance(SequenceParserBases.scala:423)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parse(SequenceParserBases.scala:266)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.ElementParserBase.parse(ElementCombinator1.scala:135)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne(UnseparatedSequenceParsers.scala:29)
>         at org.apache.daffodil.processors.parsers.Unseparated.parseOne$(UnseparatedSequenceParsers.scala:27)
>         at org.apache.daffodil.processors.parsers.RepOrderedExpressionOccursCountUnseparatedSequenceChildParser.parseOne(UnseparatedSequenceParsers.scala:55)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstanceWithMaybePoU(SequenceParserBases.scala:438)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parseOneInstance(SequenceParserBases.scala:423)
>         at org.apache.daffodil.processors.parsers.SequenceParserBase.parse(SequenceParserBases.scala:158)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.parsers.ElementParserBase.parse(ElementCombinator1.scala:135)
>         at org.apache.daffodil.processors.parsers.Parser.parse1(Parser.scala:82)
>         at org.apache.daffodil.processors.parsers.Parser.parse1$(Parser.scala:76)
>         at org.apache.daffodil.processors.parsers.CombinatorParser.parse1(Parser.scala:161)
>         at org.apache.daffodil.processors.DataProcessor.doParse(DataProcessor.scala:503)
>         at org.apache.daffodil.processors.DataProcessor.parse(DataProcessor.scala:447)
>         at org.apache.daffodil.japi.DataProcessor.parse(Daffodil.scala:812)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)