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

C2 compilation fails with assert "m has strange control"

XMLWordPrintable

    • b11

        # Internal Error (/oracle/jdk_jdk/open/src/hotspot/share/opto/loopopts.cpp:327), pid=8199, tid=8213
        # assert(m->is_Phi() || is_dominator(get_ctrl(m), n_ctrl)) failed: m has strange control

        Current CompileTask:
        C2: 3174 581 % b 4 compiler.loopopts.StrangeControl::test @ 7 (24 bytes)

        Stack: [0x00007f04146a6000,0x00007f04147a7000], sp=0x00007f04147a1410, free space=1005k
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x1209c74] PhaseIdealLoop::has_local_phi_input(Node*)+0x364
        V [libjvm.so+0x120c2fd] PhaseIdealLoop::split_if_with_blocks_pre(Node*) [clone .part.132]+0x10d
        V [libjvm.so+0x120dc4f] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x1af
        V [libjvm.so+0x12043b2] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xfe2
        V [libjvm.so+0x9c7d61] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x2c1
        V [libjvm.so+0x9c4539] Compile::Optimize()+0x3a9
        V [libjvm.so+0x9c6306] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1136
        V [libjvm.so+0x8004ed] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x10d
        V [libjvm.so+0x9d28cb] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x2db
        V [libjvm.so+0x9d38c8] CompileBroker::compiler_thread_loop()+0x4f8
        V [libjvm.so+0x1827d36] JavaThread::thread_main_inner()+0x1b6
        V [libjvm.so+0x182d476] Thread::call_run()+0xf6
        V [libjvm.so+0x142c0ae] thread_native_entry(Thread*)+0x10e

              thartmann Tobias Hartmann
              thartmann Tobias Hartmann
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: