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

[TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest

    XMLWordPrintable

Details

    • b17
    • 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

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

                Dates

                  Created:
                  Updated:
                  Resolved: