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

C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph

    XMLWordPrintable

Details

    • b27
    • x86_64
    • linux

    Backports

      Description

        The following test failed in the JDK19 CI:

        applications/javafuzzer/BigTest.java

        Here are snippets from the hs_err_pid22431.log:

        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S8380/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/88248b69-8047-48f5-b430-1f3ab95724f1/runs/d2b0a451-db74-42e5-988b-bdc60803b0cd/workspace/open/src/hotspot/share/opto/loopnode.cpp:5856), pid=22431, tid=22444
        # assert(false) failed: Bad graph detected in build_loop_late
        #
        # JRE version: Java(TM) SE Runtime Environment (19.0+32) (fastdebug build 19-ea+32-2213)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 19-ea+32-2213, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x14cc687] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x187

        <snip>

        --------------- T H R E A D ---------------

        Current thread (0x00007fc8882e1360): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=22444, stack(0x00007fc861dfe000,0x00007fc861eff000)]


        Current CompileTask:
        C2: 2644 77 b 4 Test::mainTest (505 bytes)

        Stack: [0x00007fc861dfe000,0x00007fc861eff000], sp=0x00007fc861ef8fa0, free space=1003k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x14cc687] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x187
        V [libjvm.so+0x14cce42] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0xb2
        V [libjvm.so+0x14cd8d7] PhaseIdealLoop::build_and_optimize()+0x617
        V [libjvm.so+0xb05d5a] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x27a
        V [libjvm.so+0xb02587] Compile::Optimize()+0x1027
        V [libjvm.so+0xb04710] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1520
        V [libjvm.so+0x91bd7a] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x62a
        V [libjvm.so+0xb13278] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbb8
        V [libjvm.so+0xb14268] CompileBroker::compiler_thread_loop()+0x6f8
        V [libjvm.so+0x1aa2258] JavaThread::thread_main_inner()+0x238
        V [libjvm.so+0x1aad8f0] Thread::call_run()+0x100
        V [libjvm.so+0x175e844] thread_native_entry(Thread*)+0x104

        Attachments

          1. FuzzerUtils.java
            13 kB
          2. hs_err_pid22431.log
            103 kB
          3. hs_err_pid22827.log
            102 kB
          4. Reduced.java
            0.8 kB
          5. Reduced-1.java
            0.7 kB
          6. Reduced-2.java
            0.8 kB
          7. Reduced-3.java
            0.6 kB
          8. Test.java
            7 kB
          9. Test-1.java
            7 kB
          10. Test-2.java
            7 kB
          11. Test-3.java
            8 kB

          Issue Links

            Activity

              People

                chagedorn Christian Hagedorn
                dcubed Daniel Daugherty
                Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: