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

C2: assert(get_ctrl(n) == cle_out) during unrolling

XMLWordPrintable

    • b13

        Crash happens with the attached test run with:
        java -XX:-BackgroundCompilation -XX:+UseParallelGC TestAddPAtOuterLoopHead

        # Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopopts.cpp:2297), pid=1637441, tid=1637452
        # assert(get_ctrl(n) == cle_out) failed: what other control?
        #
        # JRE version: OpenJDK Runtime Environment (21.0) (fastdebug build 21-internal-adhoc.roland.jdk-jdk)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 21-internal-adhoc.roland.jdk-jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, parallel gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x14f8bae] PhaseIdealLoop::clone_outer_loop(LoopNode*, PhaseIdealLoop::CloneLoopMode, IdealLoopTree*, IdealLoopTree*, int, Node_List&, Node_List&) [clone .part.0]+0xbfe

        Current CompileTask:
        C2: 2520 1300 b 4 TestAddPAtOuterLoopHead::test (151 bytes)

        Stack: [0x00007f4cc7537000,0x00007f4cc7638000], sp=0x00007f4cc7631a00, free space=1002k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x14b0d86] PhaseIdealLoop::clone_outer_loop(LoopNode*, PhaseIdealLoop::CloneLoopMode, IdealLoopTree*, IdealLoopTree*, int, Node_List&, Node_List&) [clone .part.0]+0xbe6 (loopopts.cpp:2268)
        V [libjvm.so+0x14bedbc] PhaseIdealLoop::clone_loop(IdealLoopTree*, Node_List&, int, PhaseIdealLoop::CloneLoopMode, Node*)+0x1ac
        V [libjvm.so+0x146cb5e] PhaseIdealLoop::insert_post_loop(IdealLoopTree*, Node_List&, CountedLoopNode*, CountedLoopEndNode*, Node*&, Node*, CountedLoopNode*&)+0xce
        V [libjvm.so+0x146f4aa] PhaseIdealLoop::insert_pre_post_loops(IdealLoopTree*, Node_List&, bool)+0x34a
        V [libjvm.so+0x147bd47] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x3c7
        V [libjvm.so+0x147c051] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x101
        V [libjvm.so+0x147bf8c] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x3c
        V [libjvm.so+0x147bf8c] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x3c
        V [libjvm.so+0x14ab431] PhaseIdealLoop::build_and_optimize()+0xd81
        V [libjvm.so+0xaeeee1] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x261
        V [libjvm.so+0xae8faf] Compile::Optimize()+0xe2f
        V [libjvm.so+0xaed10e] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x18ce
        V [libjvm.so+0x8fec67] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x4e7
        V [libjvm.so+0xafa22c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa7c
        V [libjvm.so+0xafafe8] CompileBroker::compiler_thread_loop()+0x5d8
        V [libjvm.so+0x1067896] JavaThread::thread_main_inner()+0x206
        V [libjvm.so+0x1a6a8b0] Thread::call_run()+0x100
        V [libjvm.so+0x16ff053] thread_native_entry(Thread*)+0x103

        Failure is related to loop strip mining

              roland Roland Westrelin
              roland Roland Westrelin
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: