-
Sub-task
-
Resolution: Fixed
-
Major
-
None
-
None
-
Fedora 18 x86_64, java version "1.7.0_19", sbt -mem 8192
When attempting to run the test "test_pcap_500m" in daffodil-perf/.../pcap I get the following stack trace:
[info] - test_pcap_500m *** FAILED ***
[info] edu.illinois.ncsa.daffodil.exceptions.Abort: bit positions are limited to 32-bit signed integer by underlying libraries.
[info] edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:87)
[info] edu.illinois.ncsa.daffodil.exceptions.Assert$.usageErrorUnless(Assert.scala:71)
[info] edu.illinois.ncsa.daffodil.exceptions.Assert$.usage(Assert.scala:62)
[info] edu.illinois.ncsa.daffodil.processors.DFDLCharReader$.apply(DFDLReader.scala:133)
[info] at edu.illinois.ncsa.daffodil.exceptions.Assert$.abort(Assert.scala:87)
[info] at edu.illinois.ncsa.daffodil.exceptions.Assert$.usageErrorUnless(Assert.scala:71)
[info] at edu.illinois.ncsa.daffodil.exceptions.Assert$.usage(Assert.scala:62)
[info] at edu.illinois.ncsa.daffodil.processors.DFDLCharReader$.apply(DFDLReader.scala:133)
[info] at edu.illinois.ncsa.daffodil.processors.DFDLByteReader.newCharReader(DFDLReader.scala:122)
[info] at edu.illinois.ncsa.daffodil.processors.InStreamFromByteChannel.getCharReader(InStream.scala:174)
[info] at edu.illinois.ncsa.daffodil.processors.TextReader$class.getReader(Primitives.scala:1657)
[info] at edu.illinois.ncsa.daffodil.processors.StringLength.getReader(PrimitivesLengthKind.scala:64)
[info] at edu.illinois.ncsa.daffodil.processors.StringLengthInBytes.parseInput(PrimitivesLengthKind.scala:204)
[info] at edu.illinois.ncsa.daffodil.processors.StringLength$$anon$1$$anonfun$parse$1.apply(PrimitivesLengthKind.scala:96)
Mike believes that this may be caused due to checking bit length and not byte length:
"It should be checking byte position, i.e., bit position >> 3. The code there is comparing bit position, so you get 1/8 as large a piece of possible data.
Max int is 2,147,483,647, so 1/8 is ballpark 250M. Less than 500M.
It's a theory anyway."