C2 compilation fails with assert in Node::is_top

XMLWordPrintable

      Happened once with java/lang/invoke/MethodHandlesInsertArgumentsTest.java and "-Duse.JTREG_TEST_THREAD_FACTORY=Virtual -XX:-VerifyContinuations"

      I think this means that Node::_out is unexpectedly nullptr

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/workspace/open/src/hotspot/share/opto/node.hpp:497), pid=52051, tid=25603
      # Error: assert((this == (Node*) Compile::current()->top()) == (_out == nullptr)) failed

      Current CompileTask:
      C2:8678 2330 4 java.lang.invoke.MethodHandle::<init> (37 bytes)

      Stack: [0x000000016ce4c000,0x000000016d04f000], sp=0x000000016d04af30, free space=2043k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x11f9a90] VMError::report(outputStream*, bool)+0x1b00 (node.hpp:497)
      V [libjvm.dylib+0x11fd330] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x55c
      V [libjvm.dylib+0x5a7298] print_error_for_unit_test(char const*, char const*, char*)+0x0
      V [libjvm.dylib+0xe5eda8] Node::remove_dead_region(PhaseGVN*, bool)+0xac8
      V [libjvm.dylib+0x86ba08] IfNode::Ideal_common(PhaseGVN*, bool)+0x2c
      V [libjvm.dylib+0x86d064] IfNode::Ideal(PhaseGVN*, bool)+0x2c
      V [libjvm.dylib+0xf0b15c] PhaseIterGVN::transform_old(Node*)+0x164
      V [libjvm.dylib+0xf0a78c] PhaseIterGVN::optimize()+0x2c4
      V [libjvm.dylib+0x4fb3c4] Compile::Optimize()+0x22c
      V [libjvm.dylib+0x4f9d80] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1578
      V [libjvm.dylib+0x3b9924] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x208
      V [libjvm.dylib+0x51a484] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x98c
      V [libjvm.dylib+0x5197a4] CompileBroker::compiler_thread_loop()+0x390
      V [libjvm.dylib+0x8fdf0c] JavaThread::thread_main_inner()+0x1d0
      V [libjvm.dylib+0x113e05c] Thread::call_run()+0xf0
      V [libjvm.dylib+0xeb2ec8] thread_native_entry(Thread*)+0x138
      C [libsystem_pthread.dylib+0x6bc8] _pthread_start+0x88
      Lock stack of current Java thread (top to bottom):

            Assignee:
            Unassigned
            Reporter:
            Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: