Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-1341

Simple PCAP Performance test (1MB) now failing with IndexOutOfBoundsException: 1000040

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocking Blocking
    • 2.0.0
    • 1.1.0
    • Back End
    • None

      A performance test that previously worked without issues is now failing with the following error:

      [error] Test edu.illinois.ncsa.daffodil.pcap.TestPCAP.test_pcap_simple_outOfBoundsError failed: java.lang.IndexOutOfBoundsException: 1000040
      [error]     at scala.collection.immutable.PagedSeq.apply(PagedSeq.scala:167)
      [error]     at edu.illinois.ncsa.daffodil.processors.DFDLByteReader.getByte(DFDLReader.scala:113)
      [error]     at edu.illinois.ncsa.daffodil.processors.DFDLByteReader$$anonfun$getByteArray$1.apply$mcVI$sp(DFDLReader.scala:151)
      [error]     at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
      [error]     at edu.illinois.ncsa.daffodil.processors.DFDLByteReader.getByteArray(DFDLReader.scala:150)
      [error]     at edu.illinois.ncsa.daffodil.processors.InStreamFromByteChannel.getByteAlignedBytes(InStream.scala:357)
      [error]     at edu.illinois.ncsa.daffodil.processors.InStreamFromByteChannel.getBytes(InStream.scala:329)
      [error]     at edu.illinois.ncsa.daffodil.processors.parsers.HexBinaryLengthInBytesParser.parse(HexBinaryLengthParsers.scala:60)
      [error]     at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:169)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:167)
      [error]     at scala.collection.immutable.List.foreach(List.scala:318)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:167)
      [error]     at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
      [error]     at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:136)
      [error]     at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase$$anonfun$9.apply(ElementCombinator1.scala:135)
      [error]     at scala.Option.map(Option.scala:145)
      [error]     at edu.illinois.ncsa.daffodil.processors.StatementElementParserBase.parse(ElementCombinator1.scala:135)
      [error]     at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:169)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:167)
      [error]     at scala.collection.immutable.List.foreach(List.scala:318)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:167)
      [error]     at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
      [error]     at edu.illinois.ncsa.daffodil.processors.parsers.SequenceCombinatorParser.parse(ElementKindParsers.scala:227)
      [error]     at edu.illinois.ncsa.daffodil.processors.Parser.parse1(Parser.scala:90)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:169)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser$$anonfun$parse$2.apply(Parser.scala:167)
      [error]     at scala.collection.immutable.List.foreach(List.scala:318)
      [error]     at edu.illinois.ncsa.daffodil.processors.SeqCompParser.parse(Parser.scala:167)

      I created a TDML test with this data. The Simple PCAP schema is a modified version of the original pcap schema (parses the packet as a binary blob, without going into the various layers). It does not use any expressions. The packet sizes are static, along with the byteOrder.

      See test test_pcap_simple_outOfBoundsError, which uses the following files:
      daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/pcap/1m.pcap
      daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.simple.dfdl.xsd
      daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.tdml
      daffodil-test/src/test/scala-debug/edu/illinois/ncsa/daffodil/pcap/TestPCAPDebug.scala
      daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/pcap/TestPCAP.scala

              dthompson David Thompson
              jchab Jessie Chab
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: