[lworld] C2: assert(is_InlineType()) failed: invalid node class: Phi/LoadP/DecodeN

XMLWordPrintable

      compiler/valhalla/inlinetypes/TestNullableInlineTypes.java fails intermittely with "invalid node class" assert with various node classes with the same stacktrace in the same method.

      Additionally required VM flag:
      -XX:TypeProfileLevel=222

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/da1065b5-7b94-4f0d-85e9-a3a252b9a32e-S86771/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/c5696325-be6a-4474-b4cf-47eb95f3457b/runs/2a64bb85-0a91-488d-a108-b731278a2869/workspace/open/src/hotspot/share/opto/node.hpp:1040), pid=3569731, tid=3569747
      # assert(is_InlineType()) failed: invalid node class: Phi
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0) (fastdebug build 27-jep401ea2-2026-01-22-0906586.christian.hagedorn.valhalla)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-jep401ea2-2026-01-22-0906586.christian.hagedorn.valhalla, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      # Problematic frame:
      # V [libjvm.so+0xf00444] Node::as_InlineType() const [clone .part.0]+0x18
      .....................

      Current CompileTask:
      C2:17688 1230 b 4 jdk.test.lib.Asserts::assertEQ (6 bytes)

      Stack: [0x0000ffff4fa04000,0x0000ffff4fc02000], sp=0x0000ffff4fbfc730, free space=2017k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xf00444] Node::as_InlineType() const [clone .part.0]+0x18 (node.hpp:1040)
      V [libjvm.so+0xf043d0] InlineTypeNode::can_emit_substitutability_check(Node*) const+0x240 (globalDefinitions.hpp:749)
      V [libjvm.so+0xf04224] InlineTypeNode::can_emit_substitutability_check(Node*) const+0x94 (inlinetypenode.cpp:682)
      V [libjvm.so+0x863bbc] CallStaticJavaNode::Ideal(PhaseGVN*, bool)+0x494 (callnode.cpp:1190)
      V [libjvm.so+0x16cdc58] PhaseIterGVN::transform_old(Node*)+0xe8 (phaseX.cpp:668)
      V [libjvm.so+0x16d248c] PhaseIterGVN::optimize()+0xdc (phaseX.cpp:1054)
      V [libjvm.so+0xa400b0] Compile::inline_incrementally_cleanup(PhaseIterGVN&)+0x1e0 (compile.cpp:2722)
      V [libjvm.so+0xa40a5c] Compile::inline_incrementally(PhaseIterGVN&)+0x3dc (compile.cpp:2772)
      V [libjvm.so+0xa42a74] Compile::Optimize()+0x368 (compile.cpp:2905)
      V [libjvm.so+0xa456b0] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1540 (compile.cpp:886)
      V [libjvm.so+0x84723c] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x2d8 (c2compiler.cpp:149)
      V [libjvm.so+0xa5460c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb08 (compileBroker.cpp:2345)
      V [libjvm.so+0xa55538] CompileBroker::compiler_thread_loop()+0x638 (compileBroker.cpp:1989)
      V [libjvm.so+0xfbf6e8] JavaThread::thread_main_inner()+0x108 (javaThread.cpp:777)
      V [libjvm.so+0x19a38ec] Thread::call_run()+0xac (thread.cpp:242)
      V [libjvm.so+0x163799c] thread_native_entry(Thread*)+0x11c (os_linux.cpp:860)
      C [libpthread.so.0+0x7950] start_thread+0x190

            Assignee:
            Unassigned
            Reporter:
            Christian Hagedorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: