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

AArch64 fast_unlock C2 intrinsic can stall the application

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 18
    • Fix Version/s: 19
    • Component/s: hotspot

      Description

      The successor protocol of the JVM's locking protocol requires the unlocker to check if the successor is racingly set right after storing NULL to the ObjectMonitor owner. Failing to do so will result in nobody waking up the successor, until the next lock operation on the same ObjectMonitor, which may never happen. The result could be an indefinite hang.

      We do not perform this check at all in the AArch64 fast_unlock C2 intrinsic. Therefore we are susceptible to these kind of hangs on this platform. Implementing said check will require ldar to be used on succ.

      I have not seen a real world stall because of this, but I don't need to see that to understand this is wrong.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              phedlin Patric Hedlin
              Reporter:
              eosterlund Erik Ă–sterlund
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: