C2: no reachable node should have no use

XMLWordPrintable

    • master

        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 C2 compilation of the attached reproducer fails fatally with "no reachable node should have no use". It started failing after JDK-8342692.

        java -Xbatch -XX:-TieredCompilation -XX:CompileCommand=compileonly,Test.test Test.java
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/jdk/src/hotspot/share/opto/compile.cpp:2615), pid=242665, tid=242680
        # fatal error: no reachable node should have no use
        #
        # 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+0xb94ea2] Compile::check_no_dead_use() const+0x622

        Current CompileTask:
        C2:1886 107 !b Test::test (121 bytes)

        Stack: [0x00007f5daaff1000,0x00007f5dab0f1000], sp=0x00007f5dab0ebef0, free space=1003k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0xb94ea2] Compile::check_no_dead_use() const+0x622 (compile.cpp:2615)
        V [libjvm.so+0xbaf1dd] Compile::Optimize()+0x110d (compile.cpp:2585)
        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)

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

                Created:
                Updated:
                Resolved: