Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8176580

[ppc, s390] CRC32C: wrong checksum result in some cases

    Details

    • Type: Bug
    • Status: In Progress
    • Priority: P2
    • Resolution: Unresolved
    • Affects Version/s: 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Subcomponent:
    • Understanding:
      Fix Understood
    • Introduced In Version:
      10
    • CPU:
      ppc, s390x
    • OS:
      generic

      Description

      The newly introduced CRC32C intrinsics unfortunately calculate a bad checksum, if
       * the passed-in byte array has an offset != 0
       * the intrinsic implementation is called via the interpreter or via a c1-compiled method.

      Reason:
      in contrast to the CRC32 intrinsics, the CRC32C intrinsics receive an end-index parameter instead of a length parameter. The length has to be calculated by the intrinsic as (endIndex - offset). This subtraction was simply forgotten.

        Issue Links

          Activity

          Hide
          zmajo Zoltan Majo added a comment -
          ILW=incorrect results generated, programs on ppc using the CRC32C implementation, disable CRC32C intrinsic=HHL=P2
          Show
          zmajo Zoltan Majo added a comment - ILW=incorrect results generated, programs on ppc using the CRC32C implementation, disable CRC32C intrinsic=HHL=P2
          Hide
          lucy Lucy Schmidt added a comment -
          Fix is (almost) ready, currently testing internally. Will create a webrev/RFR on Tuesday am (CET).
          Show
          lucy Lucy Schmidt added a comment - Fix is (almost) ready, currently testing internally. Will create a webrev/RFR on Tuesday am (CET).

            People

            • Assignee:
              lucy Lucy Schmidt
              Reporter:
              lucy Lucy Schmidt
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: