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

[lworld] C2 compilation hits asserts with -XX:VerifyIterativeGVN=11

XMLWordPrintable

      When run with --enable-preview, test compiler/c2/TestVerifyIterativeGVN.java crashes the VM with the following assert:

      # Internal Error (/valhalla/open/src/hotspot/share/opto/node.cpp:376), pid=119744, tid=119761
      # assert(is_not_dead(n1)) failed: can not use dead node
      #
      # JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269

      Stack trace:

      Current thread (0x00007b3114478f70): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=119761, stack(0x00007b30fc800000,0x00007b30fc900000) (1024K)]


      Current CompileTask:
      C2:2166 200 b 4 java.lang.String::substring (58 bytes)

      Stack: [0x00007b30fc800000,0x00007b30fc900000], sp=0x00007b30fc8fb110, free space=1004k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269 (node.cpp:376)
      V [libjvm.so+0xe03d7c] GraphKit::null_check_common(Node*, BasicType, bool, Node**, bool, bool)+0xcc (subnode.hpp:42)
      V [libjvm.so+0xea7eed] InlineTypeNode::initialize_fields(GraphKit*, MultiNode*, unsigned int&, bool, bool, Node*, GrowableArray<ciType*>&)+0x3cd (inlinetypenode.cpp:1170)
      V [libjvm.so+0xea8bb1] InlineTypeNode::make_from_multi(GraphKit*, MultiNode*, ciInlineKlass*, unsigned int&, bool, bool)+0x101 (inlinetypenode.cpp:985)
      V [libjvm.so+0xdf9563] GraphKit::set_results_for_java_call(CallJavaNode*, bool, bool)+0xf3 (graphKit.cpp:1958)
      V [libjvm.so+0x88237a] DirectCallGenerator::generate(JVMState*)+0x2ea (callGenerator.cpp:196)
      V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
      V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
      V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
      V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
      V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
      V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
      V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
      V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
      V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
      V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
      V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
      V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
      V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
      V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
      V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
      V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
      V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
      V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
      V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
      V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
      V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
      V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
      V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
      V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
      V [libjvm.so+0xa3a941] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1781 (compile.cpp:804)
      V [libjvm.so+0x878ce2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
      V [libjvm.so+0xa46cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2305)
      V [libjvm.so+0xa47968] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1964)
      V [libjvm.so+0xf4983c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
      V [libjvm.so+0x1875f16] Thread::call_run()+0xb6 (thread.cpp:221)
      V [libjvm.so+0x155fd47] thread_native_entry(Thread*)+0x127 (os_linux.cpp:816)
      C [libc.so.6+0x9ca94]
      Registers:
      RAX=0x00007b311e764000, RBX=0x00007b30a40ed978, RCX=0x00007b311db507b1, RDX=0x00007b311dcd4538
      RSP=0x00007b30fc8fb110, RBP=0x00007b30fc8fb140, RSI=0x0000000000000178, RDI=0x00007b311dcd3db0
      R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x00007b311e0fa4a8, R11=0x0000000000000000
      R12=0x0000000000000000, R13=0x00007b30ac1ed170, R14=0x00007b30a40ed908, R15=0x00007b311e1aa644
      RIP=0x00007b311d4e3639, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006

            thartmann Tobias Hartmann
            fparain Frederic Parain
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: