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

[JVMCI] failed speculations list must outlive any nmethod that refers to it

XMLWordPrintable

    • b04

        Very rarely when running Graal's unit tests, this happens:

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (methodData.cpp:829), pid=93495, tid=93496
        # fatal error: Adding to failed speculations list that appears to have been freed. Source: 3183{static void com.oracle.graal.compiler.enterprise.test.CountedStripMiningRangeCheckTest.testStridePosScalePos(jlong, jlong, jlong, jlong)}
        #
        # JRE version: Java(TM) SE Runtime Environment GraalVM 22.1.0-dev (17.0.1+7) (build 17.0.1+7-LTS-jvmci-21.3-b02)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM GraalVM 22.1.0-dev (17.0.1+7-LTS-jvmci-21.3-b02, mixed mode, sharing, tiered, jvmci, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0xb9087e] FailedSpeculation::add_failed_speculation(nmethod*, FailedSpeculation**, unsigned char*, int)+0x12e
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping to /home/davileop/Work/Source/graal-enterprise/graal-enterprise/core.93495)
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #

        This should be avoidable by allowing a HotSpotNmethod created in a unit test to hold a strong reference to the failed speculations list.

              dnsimon Douglas Simon
              dnsimon Douglas Simon
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: