C2: assert(is_Call()) failed: invalid node class: Region

XMLWordPrintable

      Found by Olivier Mattmann <olivier.mattmann@bluewin.ch> during work on this Master thesis where he is working on a fuzzer for C2 ( JDK-8370562).

      The attached reproducer Test.java starts failing after JDK-8354383.

      java -Xbatch -XX:-TieredCompilation -XX:CompileCommand=compileonly,Test.test -XX:-UseOnStackReplacement Test.java
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/src/jdk/src/hotspot/share/opto/node.hpp:916), pid=50011, tid=50026
      # assert(is_Call()) failed: invalid node class: Region
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0) (fastdebug build 27-internal-mhassig.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-internal-mhassig.open, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xa2cd54] CreateExNode::Identity(PhaseGVN*)+0x2e4

      Current CompileTask:
      C2:1801 102 !b Test::test (125 bytes)

      Stack: [0x00007f71740ca000,0x00007f71741ca000], sp=0x00007f71741c4d00, free space=1003k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xa2cd54] CreateExNode::Identity(PhaseGVN*)+0x2e4 (node.hpp:916)
      V [libjvm.so+0x189189c] PhaseIterGVN::transform_old(Node*)+0x3cc (phaseX.cpp:2178)
      V [libjvm.so+0x18960b5] PhaseIterGVN::optimize()+0xc5 (phaseX.cpp:1054)
      V [libjvm.so+0xbb50a2] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x672 (loopnode.hpp:1344)
      V [libjvm.so+0xbabe61] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0xb1 (compile.cpp:2266)
      V [libjvm.so+0xbaed8f] Compile::Optimize()+0xcbf (compile.cpp:2515)
      V [libjvm.so+0xbb1f33] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x2023 (compile.cpp:860)
      V [libjvm.so+0x9cc6e8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x498 (c2compiler.cpp:147)
      V [libjvm.so+0xbc1420] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780 (compileBroker.cpp:2345)
      V [libjvm.so+0xbc2c80] CompileBroker::compiler_thread_loop()+0x530 (compileBroker.cpp:1989)
      V [libjvm.so+0x1124d7b] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:776)
      V [libjvm.so+0x1ba9036] Thread::call_run()+0xb6 (thread.cpp:242)
      V [libjvm.so+0x17fe7d8] thread_native_entry(Thread*)+0x118 (os_linux.cpp:860)

        1. Test.java
          1 kB
          Manuel Hässig

            Assignee:
            Roland Westrelin
            Reporter:
            Manuel Hässig
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: