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

[lworld] C2: assert(is_InlineType()) failed: invalid node class: Con

XMLWordPrintable

    • generic
    • generic

      Seeing this assertion pop up in compiler/valhalla/inlinetypes/TestLWorld.java. The scenario it fails in differs. JDK-8349709 sees it fail in TestBasicFunctionality.java. The stack traces look different than in JDK-8349709.

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (src/hotspot/share/opto/node.hpp:1026), pid=446027, tid=446043
      # assert(is_InlineType()) failed: invalid node class: Con
      #
      # JRE version: Java(TM) SE Runtime Environment (26.0+1) (fastdebug build 26-valhalla+1-82)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-valhalla+1-82, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      # Problematic frame:
      # V [libjvm.so+0xe79b98] Node::as_InlineType() const [clone .part.0]+0x18
      #
      # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to core.446027)
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #

      --------------- S U M M A R Y ------------

      Command Line: -Djava.library.path=hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=6.25 -Dtest.boot.jdk=jdk-24_linux-aarch64_bin.tar.gz/jdk-24 -Djava.io.tmpdir=test-support/jtreg_open_test_hotspot_jtreg_tier1_compiler_3/tmp -XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation -XX:+StressArrayCopyMacroNode -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressMethodHandleLinkerInlining -XX:+StressCompiledExceptionHandlers -XX:VerifyConstraintCasts=1 -XX:+StressLoopPeeling -Dir.framework.server.port=42919 --enable-preview --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -XX:+IgnoreUnrecognizedVMOptions -DVerifyIR=false -XX:FlatArrayElementMaxOops=-1 -XX:+UseArrayFlattening -XX:-UseFieldFlattening -XX:+InlineTypePassFieldsAsArgs -XX:-InlineTypeReturnedAsFields -XX:-ReduceInitialCardMarks -XX:-MonomorphicArrayCheck -XX:-BackgroundCompilation -XX:CompileCommand=quiet -DWarmup=251 compiler.lib.ir_framework.test.TestVM compiler.valhalla.inlinetypes.TestLWorld compiler.valhalla.inlinetypes.MyValue2Inline compiler.valhalla.inlinetypes.MyValue3Inline compiler.valhalla.inlinetypes.MyValue2 compiler.valhalla.inlinetypes.MyValue1 compiler.valhalla.inlinetypes.MyValue3

      Host: , AArch64, 8 cores, 30G, Oracle Linux Server release 9.5
      Time: Tue Oct 14 03:57:04 2025 UTC elapsed time: 14.295603 seconds (0d 0h 0m 14s)

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

      Current thread (0x0000ffff7c2a5d50): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=446043, stack(0x0000ffff5d5ca000,0x0000ffff5d7c8000) (2040K)]


      Current CompileTask:
      C2:14295 903 b compiler.valhalla.inlinetypes.TestLWorld::test4 (62 bytes)

      Stack: [0x0000ffff5d5ca000,0x0000ffff5d7c8000], sp=0x0000ffff5d7c2380, free space=2016k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xe79b98] Node::as_InlineType() const [clone .part.0]+0x18 (node.hpp:1026)
      V [libjvm.so+0xe7ba5c] InlineTypeNode::merge_with(PhaseGVN*, InlineTypeNode const*, int, bool)+0x4b4 (node.hpp:1026)
      V [libjvm.so+0x86c4b0] PhiNode::push_inline_types_down(PhaseGVN*, bool, ciInlineKlass*)+0x8d0 (cfgnode.cpp:2131)
      V [libjvm.so+0x86c464] PhiNode::push_inline_types_down(PhaseGVN*, bool, ciInlineKlass*)+0x884 (cfgnode.cpp:2114)
      V [libjvm.so+0x871880] PhiNode::Ideal(PhaseGVN*, bool)+0xe54 (cfgnode.cpp:2765)
      V [libjvm.so+0x16341a8] PhaseIterGVN::transform_old(Node*)+0xe8 (phaseX.cpp:668)
      V [libjvm.so+0x1638538] PhaseIterGVN::optimize()+0xd8 (phaseX.cpp:1054)
      V [libjvm.so+0x9f4a1c] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x49c (loopnode.hpp:1292)
      V [libjvm.so+0x9eeabc] Compile::Optimize()+0x538 (compile.cpp:2952)
      V [libjvm.so+0x9f1614] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1648 (compile.cpp:873)
      V [libjvm.so+0x80c0e8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x2c4 (c2compiler.cpp:149)
      V [libjvm.so+0xa0023c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa38 (compileBroker.cpp:2342)
      V [libjvm.so+0xa01158] CompileBroker::compiler_thread_loop()+0x634 (compileBroker.cpp:1986)
      V [libjvm.so+0xf2fe08] JavaThread::thread_main_inner()+0x108 (javaThread.cpp:776)
      V [libjvm.so+0x18f6a9c] Thread::call_run()+0xac (thread.cpp:243)
      V [libjvm.so+0x159fd9c] thread_native_entry(Thread*)+0x12c (os_linux.cpp:892)
      C [libc.so.6+0x80b50] start_thread+0x300

            chagedorn Christian Hagedorn
            phubner Paul Hübner
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: