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

C2: assert(early->dominates(LCA)) failed: early is high enough

    XMLWordPrintable

Details

    • b33
    • Verified

    Backports

      Description

        The attached fuzzer test fails with the following assertion after JDK-8258393:

        To reproduce:
        # Original fuzzer test (see hs_err_pid17768.log)
        java -Xcomp -XX:CompileOnly=Test Test.java
        # Reduced fuzzer test with creduce
        java -Xcomp -XX:CompileOnly=Reduced Reduced.java

        A similar related assertion can be triggered with different arguments (see hs_err_pid17793.log).

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S77107/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/d0fa3a1e-22e6-4f7b-a7af-ce8e76864598/runs/55975061-d779-455a-b505-c235c4463732/workspace/open/src/hotspot/share/opto/gcm.cpp:473), pid=17768, tid=17781
        # assert(early->dominates(LCA)) failed: early is high enough
        #
        # JRE version: Java(TM) SE Runtime Environment (16.0+31) (fastdebug build 16-ea+31-2150)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 16-ea+31-2150, compiled mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0xd139a9] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x1cb9
        ..........
        Command Line: -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test -XX:CompileCommand=quiet Test
        ..........
        Current CompileTask:
        C2: 1064 14 b 4 Test::mainTest (624 bytes)

        Stack: [0x00007f40f60f8000,0x00007f40f61f9000], sp=0x00007f40f61f3b30, free space=1006k
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0xd139a9] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x1cb9
        V [libjvm.so+0xd19f90] PhaseCFG::schedule_late(VectorSet&, Node_Stack&)+0xc00
        V [libjvm.so+0xd1a6e9] PhaseCFG::global_code_motion()+0x339
        V [libjvm.so+0xd1e6c1] PhaseCFG::do_global_code_motion()+0x51
        V [libjvm.so+0xa0ea10] Compile::Code_Gen()+0x290
        V [libjvm.so+0xa19ad7] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1917
        V [libjvm.so+0x849d8c] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1dc
        V [libjvm.so+0xa29808] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xe88
        V [libjvm.so+0xa2a458] CompileBroker::compiler_thread_loop()+0x5a8
        V [libjvm.so+0x18bb4f6] JavaThread::thread_main_inner()+0x256
        V [libjvm.so+0x18c1e70] Thread::call_run()+0x100
        V [libjvm.so+0x15a3f66] thread_native_entry(Thread*)+0x116

        Attachments

          1. Test.java
            6 kB
          2. Reduced.java
            0.5 kB
          3. hs_err_pid17993.log
            168 kB
          4. hs_err_pid17768.log
            175 kB
          5. FuzzerUtils.java
            13 kB

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: