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

C2 compilation fails with "Bad immediate dominator info"

    XMLWordPrintable

Details

    • b28
    • 16
    • b27
    • Verified

    Backports

      Description

        java -Xcomp -XX:CompileOnly=TestSimple::test -XX:CompileCommand=quiet -XX:-TieredCompilation -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN -XX:RepeatCompilation=100 TestSimple.java

        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/workspace/open/src/hotspot/share/opto/loopnode.hpp:1137), pid=3339531, tid=3339546
        # assert(n != nullptr) failed: Bad immediate dominator info.
        #
        # JRE version: Java(TM) SE Runtime Environment (22.0+21) (fastdebug build 22-ea+21-1641)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-ea+21-1641, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x12babca] PhaseIdealLoop::clone_loop_handle_data_uses(Node*, Node_List&, IdealLoopTree*, IdealLoopTree*, Node_List*&, Node_List*&, Node_List*&, Node_List&, unsigned int, PhaseIdealLoop::CloneLoopMode)+0xe7a

        Current CompileTask:
        C2:1896 82 b TestSimple::test (51 bytes)

        Stack: [0x00007fc7a840f000,0x00007fc7a8510000], sp=0x00007fc7a850a770, free space=1005k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x12babca] PhaseIdealLoop::clone_loop_handle_data_uses(Node*, Node_List&, IdealLoopTree*, IdealLoopTree*, Node_List*&, Node_List*&, Node_List*&, Node_List&, unsigned int, PhaseIdealLoop::CloneLoopMode)+0xe7a (loopnode.hpp:1137)
        V [libjvm.so+0x12bf566] PhaseIdealLoop::clone_loop(IdealLoopTree*, Node_List&, int, PhaseIdealLoop::CloneLoopMode, Node*)+0x556
        V [libjvm.so+0x126e2dc] PhaseIdealLoop::insert_post_loop(IdealLoopTree*, Node_List&, CountedLoopNode*, CountedLoopEndNode*, Node*&, Node*, CountedLoopNode*&)+0xdc
        V [libjvm.so+0x127042c] PhaseIdealLoop::insert_pre_post_loops(IdealLoopTree*, Node_List&, bool)+0x2dc
        V [libjvm.so+0x127f7de] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x4be
        V [libjvm.so+0x127fa87] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x117
        V [libjvm.so+0x127f9a3] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x33
        V [libjvm.so+0x127f9a3] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x33
        V [libjvm.so+0x12ab88b] PhaseIdealLoop::build_and_optimize()+0xe1b
        V [libjvm.so+0x9fdf9b] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3ab
        V [libjvm.so+0x9fa8b2] Compile::Optimize()+0x16f2
        V [libjvm.so+0x9fc681] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1bc1
        V [libjvm.so+0x849ca7] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x207
        V [libjvm.so+0xa08725] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x9f5
        V [libjvm.so+0xa09438] CompileBroker::compiler_thread_loop()+0x508
        V [libjvm.so+0xec438c] JavaThread::thread_main_inner()+0xcc
        V [libjvm.so+0x17a22ca] Thread::call_run()+0xba
        V [libjvm.so+0x14a710a] thread_native_entry(Thread*)+0x12a

        In product:

        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0x00007efe7295fca6, pid=3339733, tid=3339747
        #
        # JRE version: Java(TM) SE Runtime Environment (22.0+22) (build 22-ea+22-1754)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (22-ea+22-1754, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0xbb8ca6] PhaseIdealLoop::clone_loop_handle_data_uses(Node*, Node_List&, IdealLoopTree*, IdealLoopTree*, Node_List*&, Node_List*&, Node_List*&, Node_List&, unsigned int, PhaseIdealLoop::CloneLoopMode)+0x5e6
        #
        # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

        Attachments

          1. TestSimple.java
            0.5 kB
          2. Test.java
            7 kB
          3. replay_pid3339531.log
            229 kB
          4. hs_err_pid3339531.log
            78 kB
          5. FuzzerUtils.java
            13 kB

          Issue Links

            Activity

              People

                roland Roland Westrelin
                thartmann Tobias Hartmann
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: