Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: deferred
    • Component/s: Back End, Performance
    • Labels:
      None
    • Environment:
      Fedora 18 x86_64, java version "1.7.0_19", sbt -mem 8192

      Description

      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."

        Gliffy Diagrams

          Attachments

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              jadams Joshua Adams
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Tasks