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

Unreachable nodes keep speculative types alive

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b11
    • CPU:
      x86_64
    • OS:
      windows

      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

              Assignee:
              neliasso Nils Eliasson
              Reporter:
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: