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

C2 compilation fails with "graph should be schedulable" when running with -XX:-EliminateLocks

XMLWordPrintable

    • b08
    • 13
    • b17

          public static void test() throws Exception {
              Object obj = new Object();
              synchronized (obj) {
                   throw new Exception();
              }
          }

      # Internal Error (/oracle/jdk_jdk/open/src/hotspot/share/opto/lcm.cpp:1160), pid=16290, tid=16301
      # assert(false) failed: graph should be schedulable

      Current CompileTask:
      C2: 1321 564 !b 4 Test2::test (25 bytes)

      Stack: [0x00007f9f8342f000,0x00007f9f83530000], sp=0x00007f9f8352acf0, free space=1007k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x11732ce] PhaseCFG::schedule_local(Block*, GrowableArray<int>&, VectorSet&, long*)+0xd3e
      V [libjvm.so+0xcfe118] PhaseCFG::global_code_motion()+0xbf8
      V [libjvm.so+0xcfe821] PhaseCFG::do_global_code_motion()+0x51
      V [libjvm.so+0x9c0e1e] Compile::Code_Gen()+0x24e
      V [libjvm.so+0x9c50a4] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1014
      V [libjvm.so+0x7feffd] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x10d
      V [libjvm.so+0x9d1790] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x310
      V [libjvm.so+0x9d27a8] CompileBroker::compiler_thread_loop()+0x4f8
      V [libjvm.so+0x1823fd6] JavaThread::thread_main_inner()+0x1b6
      V [libjvm.so+0x1829776] Thread::call_run()+0xf6
      V [libjvm.so+0x142a9a6] thread_native_entry(Thread*)+0x116

      The problem was introduced in JDK 13 by the fix for JDK-8217990.

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

              Created:
              Updated:
              Resolved: