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

[TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b17
    • CPU:
      ppc

      Backports

        Description

        The test UnsafeIntrinsicsTest can fail on PPC64 when testing new GCs. This platform has an optimized implementation of weakCompareAndSet.

        According to [1], weakCompareAndSet is allowed to fail sporadically. Such sporadic failures are observable on PPC64.
        [2] mentions memory contention as typical failure reason, but it's not the only possible reason. E.g., the OS can interrupt the Java Thread and the CPU can lose the reservation which also leads to such a failure. In addition, GC can access the same cache line concurrently, which is also a possible failure reason.

        [1] https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html
        [2] https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/VarHandle.html#weakCompareAndSet-java.lang.Object...-

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                mdoerr Martin Doerr
                Reporter:
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: