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

Unreachable nodes keep speculative types alive

    XMLWordPrintable

Details

    • b11
    • x86_64
    • windows

    Backports

      Description

        The following test failed in the JDK17 CI:

        applications/runthese/RunThese30M.java

        Here's a snippet from the log file:

        Checking for JDK Version : 9.0
        Creating StreamObject from spec
        Setting the value of serial fields
        Converting the StreamObject to Object
        Assertion test
        serial2002 passed.
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (t:\\workspace\\open\\src\\hotspot\\share\\opto\\phaseX.cpp:340), pid=50468, tid=59704
        # assert(t == t_no_spec) failed: dead node in hash table or missed node during speculative cleanup
        #
        # JRE version: Java(TM) SE Runtime Environment (17.0+8) (fastdebug build 17-ea+8-LTS-475)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 17-ea+8-LTS-475, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
        # Core dump will be written. Default location: T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java\\scratch\\0\\hs_err_pid50468.mdmp
        #
        # JFR recording file will be written. Location: T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java\\scratch\\0\\hs_err_pid50468.jfr
        #
        Unsupported internal testing APIs have been used.

        # An error report file with more information is saved as:
        # T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java\\scratch\\0\\hs_err_pid50468.log
        #
        # Compiler replay data is saved as:
        # T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java\\scratch\\0\\replay_pid50468.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        ----------System.err:(1188/90484)*----------

        Here's the crashing thread's stack:

        --------------- T H R E A D ---------------

        Current thread (0x000001f25766b0e0): JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=59704, stack(0x000000b5ed600000,0x000000b5ed700000)]


        Current CompileTask:
        C2: 352410 26673 4 java.lang.ClassLoader::loadClass (7 bytes)

        Stack: [0x000000b5ed600000,0x000000b5ed700000]
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [jvm.dll+0xab1461]
        V [jvm.dll+0xcd62b7]
        V [jvm.dll+0xcd7c0e]
        V [jvm.dll+0xcd8324]
        V [jvm.dll+0x4b7857]
        V [jvm.dll+0xaf2483]
        V [jvm.dll+0x47e23f]
        V [jvm.dll+0x4701b3]
        V [jvm.dll+0x46dc11]
        V [jvm.dll+0x3a513c]
        V [jvm.dll+0x486881]
        V [jvm.dll+0x483f6a]
        V [jvm.dll+0xc6299c]
        V [jvm.dll+0xc59d24]
        V [jvm.dll+0xaafdae]
        C [ucrtbase.dll+0x1fb80]
        C [KERNEL32.DLL+0x84d4]
        C [ntdll.dll+0x51791]

        I have no idea why the symbols are missing from the stack trace.

        Starting this bug off in hotspot/compiler for initial traige since
        the assertion is in compiler code:

        # Internal Error (t:\\workspace\\open\\src\\hotspot\\share\\opto\\phaseX.cpp:340), pid=50468, tid=59704
        # assert(t == t_no_spec) failed: dead node in hash table or missed node during speculative cleanup

        Attachments

          Issue Links

            Activity

              People

                neliasso Nils Eliasson (Inactive)
                dcubed Daniel Daugherty
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: