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

C2: assert(false) failed: Bad graph detected in build_loop_late after JDK-8305189

    XMLWordPrintable

Details

    • b25
    • 21
    • b05

    Backports

      Description

        The following Java Fuzzer test fails after JDK-8305189 with the following assertion:

        To reproduce:
        $ java -Xcomp -XX:CompileCommand=compileonly,Test::* Test.java
        $ java -Xcomp -XX:CompileCommand=compileonly,Reduced::* Reduced.java

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S9638/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7cab5968-cfac-4917-b50c-ee11433deb3c/runs/89e28e37-02bc-4ad0-8809-7a3c3140d816/workspace/open/src/hotspot/share/opto/loopnode.cpp:6101), pid=31952, tid=31967
        # assert(false) failed: Bad graph detected in build_loop_late
        #
        # JRE version: Java(TM) SE Runtime Environment (21.0+26) (fastdebug build 21-ea+26-LTS-2328)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+26-LTS-2328, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x12953f8] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x9a8
        ...........
        Command Line: -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test -XX:CompileCommand=quiet -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/20/36/bundles/linux-x64/jdk-20_linux-x64_bin.tar.gz/jdk-20 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S9617/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/22e17643-863f-4109-a641-efb37041dde2/runs/40615183-9cee-43d6-a5bd-08247939f04a/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_BigTest_java/tmp Test
        ..........
        Current CompileTask:
        C2: 517 8 !b 4 Test::iMeth (318 bytes)

        Stack: [0x00007f33d0963000,0x00007f33d0a64000], sp=0x00007f33d0a5ed30, free space=1007k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x12953f8] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x9a8 (loopnode.cpp:6101)
        V [libjvm.so+0x129552d] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0xbd (loopnode.cpp:6004)
        V [libjvm.so+0x1295e75] PhaseIdealLoop::build_and_optimize()+0x635 (loopnode.cpp:4444)
        V [libjvm.so+0x9f2939] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3b9 (loopnode.hpp:1124)
        V [libjvm.so+0x9ef4a7] Compile::Optimize()+0xe97 (compile.cpp:2156)
        V [libjvm.so+0x9f16d6] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b96 (compile.cpp:842)
        V [libjvm.so+0x84b3e4] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x3c4 (c2compiler.cpp:118)
        V [libjvm.so+0x9fd5e0] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa00 (compileBroker.cpp:2265)
        V [libjvm.so+0x9fe468] CompileBroker::compiler_thread_loop()+0x618 (compileBroker.cpp:1944)
        V [libjvm.so+0xeb651c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:719)
        V [libjvm.so+0x1795d7a] Thread::call_run()+0xba (thread.cpp:217)
        V [libjvm.so+0x149623c] thread_native_entry(Thread*)+0x11c (os_linux.cpp:778)

        Attachments

          1. FuzzerUtils.java
            13 kB
          2. hs_err_pid31952.log
            100 kB
          3. Reduced.java
            0.6 kB
          4. Test.java
            15 kB

          Issue Links

            Activity

              People

                roland Roland Westrelin
                chagedorn Christian Hagedorn
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: