[lworld] assert(false) failed: Should have been marked for deoptimization

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • None
    • Affects Version/s: repo-valhalla
    • Component/s: hotspot
    • x86_64
    • linux, windows

      The following test failed in the Valhalla CI:

      compiler/valhalla/inlinetypes/TestMismatchHandling.java

      Here's a snippet from the log file:

      #section:main
      ----------messages:(7/740)----------
      command: main -XX:+IgnoreUnrecognizedVMOptions -Xbatch -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:-Inline -XX:-InlineAccessors -XX:-UseBimorphicInlining -XX:-UseCHA -XX:-UseTypeProfile compiler.valhalla.inlinetypes.TestMismatchHandling
      reason: User specified action: run main/othervm -XX:+IgnoreUnrecognizedVMOptions -Xbatch -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:-Inline -XX:-InlineAccessors -XX:-UseBimorphicInlining -XX:-UseCHA -XX:-UseTypeProfile compiler.valhalla.inlinetypes.TestMismatchHandling
      started: Fri Jan 16 09:27:28.499 UTC 2026
      Mode: othervm [/othervm specified]
      Process id: 23152
      finished: Fri Jan 16 09:27:31.048 UTC 2026
      elapsed time (seconds): 2.549
      ----------configuration:(0/0)----------
      ----------System.out:(58/4299)*----------
      For random generator using seed: 3129359953
      To re-run test with same seed value please add "-Djdk.test.lib.random.seed=3129359953" to command line.
      Failed dependency:
        dependee = jdk.management.jfr.internal.FlightRecorderMXBeanProvider$SingleMBeanComponent
        context supers = 1, interfaces = 1
      Compiled method (c2) 1473 619 4 compiler.valhalla.inlinetypes.TestMismatchHandlingHelper::test8 (153 bytes)
       total in heap [0x000002221d32ff08,0x000002221d330f78] = 4208
       main code [0x000002221d330020,0x000002221d330f30] = 3856
       stub code [0x000002221d330f30,0x000002221d330f68] = 56
       oops [0x000002221d330f68,0x000002221d330f78] = 16
       mutable data [0x000002222eaa74e0,0x000002222eaa77e8] = 776
       relocation [0x000002222eaa74e0,0x000002222eaa77b0] = 720
       metadata [0x000002222eaa77b0,0x000002222eaa77e8] = 56
       immutable data [0x000002222e865260,0x000002222e8667bc] = 5468
       dependencies [0x000002222e865260,0x000002222e865270] = 16
       handler table [0x000002222e865270,0x000002222e865690] = 1056
       scopes pcs [0x000002222e865690,0x000002222e866130] = 2720
       scopes data [0x000002222e866130,0x000002222e8667b8] = 1672
      Dependencies:
      Dependency of type evol_method
        method = *{method} {0x000002222a40a928} 'test8' '(Lcompiler/valhalla/inlinetypes/I6;Lcompiler/valhalla/inlinetypes/I6;Lcompiler/valhalla/inlinetypes/I6;Lcompiler/valhalla/inlinetypes/Q;Lcompiler/valhalla/inlinetypes/Q;Lcompiler/valhalla/inlinetypes/Q;Lcompiler/valhalla/inlinetypes/Q;Lcompiler/valhalla/inlinetypes/Q;Lcompiler/valhalla/inlinetypes/P;Lcompiler/valhalla/inlinetypes/R;)V' in 'compiler/valhalla/inlinetypes/TestMismatchHandlingHelper'
      Dependency of type mismatch_calling_convention
        method = {method} {0x000002222a41e3f8} 'verify' '()V' in 'compiler/valhalla/inlinetypes/MyValue7Mismatch'
      Dependency of type mismatch_calling_convention
        method = {method} {0x000002222a4080d0} 'method' '(Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;)Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;' in 'compiler/valhalla/inlinetypes/Q'
      Dependency of type mismatch_calling_convention
        method = {method} {0x000002222a4083f8} 'method' '(Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;)Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;' in 'compiler/valhalla/inlinetypes/R'
      Dependency of type unique_concrete_method_4
        context = compiler.valhalla.inlinetypes.P
        method = {method} {0x000002222a41e008} 'method' '(Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;)Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;' in 'compiler/valhalla/inlinetypes/P'
        class = compiler.valhalla.inlinetypes.P
        method = {method} {0x000002222a41e008} 'method' '(Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;)Lcompiler/valhalla/inlinetypes/MyValue7Mismatch;' in 'compiler/valhalla/inlinetypes/P'
         [nmethod<=klass]compiler.valhalla.inlinetypes.P
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (c:\\sb\\prod\\1768479891\\workspace\\open\\src\\hotspot\\share\\code\\codeCache.cpp:1211), pid=23152, tid=17372
      # assert(false) failed: Should have been marked for deoptimization
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0+1) (fastdebug build 27-valhalla+1-41)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-valhalla+1-41, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
      # Problematic frame:
      # V [jvm.dll+0x5f8856] check_live_nmethods_dependencies+0x416
      #
      # Core dump will be written. Default location: C:\\sb\\prod\\1768551564\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_compiler\\scratch\\3\\hs_err_pid23152.mdmp
      #
      Unsupported internal testing APIs have been used.

      # An error report file with more information is saved as:
      # C:\\sb\\prod\\1768551564\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_compiler\\scratch\\3\\hs_err_pid23152.log
      [1.683s][warning][os] Loading hsdis library failed
           Locks owned:
          Mutex: [0x00007ff84d8d8e70] CodeCache_lock - owner: 0x0000022229b2be60 allow_vm_block nosafepoint-2
          Mutex: [0x00007ff84d8d90f0] Compile_lock - owner: 0x0000022229b2be60 safepoint-1
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      ----------System.err:(0/0)----------
      ----------rerun:(55/8715)*----------

      Here's the crashing thread's stack:

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

      Current thread (0x0000022229b2be60): JavaThread "UsageTracker" daemon [_thread_in_vm, id=17372, stack(0x000000b388a00000,0x000000b388b00000) (1024K)]

      Stack: [0x000000b388a00000,0x000000b388b00000], sp=0x000000b388afd840, free space=1014k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0x5f8856] check_live_nmethods_dependencies+0x416 (codeCache.cpp:1211)
      V [jvm.dll+0x5fbe03] CodeCache::mark_for_deoptimization+0xc3 (codeCache.cpp:1242)
      V [jvm.dll+0x5fbca8] CodeCache::mark_dependents_on+0x78 (codeCache.cpp:1382)
      V [jvm.dll+0x95ea97] InstanceKlass::link_class_impl+0x5a7 (instanceKlass.cpp:1230)
      V [jvm.dll+0x95b928] InstanceKlass::initialize_impl+0x78 (instanceKlass.cpp:1373)
      V [jvm.dll+0x95c660] InstanceKlass::initialize_preemptable+0x60 (instanceKlass.cpp:933)
      V [jvm.dll+0x97dcdd] InterpreterRuntime::_new+0x23d (interpreterRuntime.cpp:227)
      C 0x000002221cd884ce (no source info available)

      The last pc belongs to new (printed below).
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j jdk.management.jfr.internal.FlightRecorderMXBeanProvider.getPlatformComponentList()Ljava/util/List;+6 jdk.management.jfr@27-valhalla
      j java.lang.management.ManagementFactory$PlatformMBeanFinder.<clinit>()V+105 java.management@27-valhalla
      v ~StubRoutines::Stub Generator call_stub_stub 0x000002221cd61952
      j java.lang.management.ManagementFactory.getPlatformMXBean(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;+1 java.management@27-valhalla
      j java.lang.management.ManagementFactory.getRuntimeMXBean()Ljava/lang/management/RuntimeMXBean;+2 java.management@27-valhalla
      j java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;)Ljava/lang/Object;+9 java.base@27-valhalla
      j java.lang.invoke.LambdaForm$MH+0x0000000010040800.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+12 java.base@27-valhalla
      j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+19 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+41 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@27-valhalla
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@27-valhalla
      j sun.usagetracker.UsageTrackerClient$UsageTrackerRunnable.getInputArguments()Ljava/util/List;+25 java.base@27-valhalla
      j sun.usagetracker.UsageTrackerClient$UsageTrackerRunnable.getRuntimeDetails()Ljava/lang/String;+167 java.base@27-valhalla
      j sun.usagetracker.UsageTrackerClient$UsageTrackerRunnable.buildMessage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+121 java.base@27-valhalla
      j sun.usagetracker.UsageTrackerClient$UsageTrackerRunnable.run()V+57 java.base@27-valhalla
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@27-valhalla
      j java.lang.Thread.run()V+19 java.base@27-valhalla
      v ~StubRoutines::Stub Generator call_stub_stub 0x000002221cd61952

      I'm starting this off in hotspot/runtime since deoptimization is
      involved and so far this crash has only be spotted in the Valhalla CI.

            Assignee:
            Unassigned
            Reporter:
            Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: