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

C2: Broken graph due to IfNode with a pre-loop Opaque1 node that cannot be folded while data is dying

XMLWordPrintable

    • Cause Known

      The attached Java Fuzzer testcase starts to fail after JDK-8281429 which improved the type information of iv phi nodes. This might just reveal an existing bug.

      To reproduce:

      $ java -Xcomp -XX:-TieredCompilation -XX:+StressIGVN -XX:StressSeed=919693051 -XX:CompileOnly=Reduced Reduced.java
      $ java -Xcomp -XX:-TieredCompilation -XX:+StressIGVN -XX:StressSeed=919693051 -XX:CompileOnly=Test Test.java

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (c:\sb\prod\1669253370\workspace\open\src\hotspot\share\opto\loopnode.cpp:5866), pid=28688, tid=25384
      # assert(false) failed: Bad graph detected in build_loop_late
      .......
      Command Line: -XX:-TieredCompilation -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:StressSeed=613859031 -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test -XX:CompileCommand=quiet -XX:MaxRAMPercentage=4.16667 -Djava.io.tmpdir=c:\sb\prod\1669391292\testoutput\test-support\jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_BigTest_java\tmp Test
      .......
      Current CompileTask:
      C2: 339 7 % b Test::vMeth @ 50 (301 bytes)

      Stack: [0x0000008402600000,0x0000008402700000]
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0xc04d51] os::win32::platform_print_native_stack+0xf1 (os_windows_x86.cpp:236)
      V [jvm.dll+0xe8bad0] VMError::report+0x10c0 (vmError.cpp:841)
      V [jvm.dll+0xe8d5c4] VMError::report_and_die+0x644 (vmError.cpp:1700)
      V [jvm.dll+0xe8dd04] VMError::report_and_die+0x64 (vmError.cpp:1481)
      V [jvm.dll+0x576ef7] report_vm_error+0xb7 (debug.cpp:286)
      V [jvm.dll+0xa953b1] PhaseIdealLoop::build_loop_late_post_work+0x431 (loopnode.cpp:5866)
      V [jvm.dll+0xa94f28] PhaseIdealLoop::build_loop_late+0x378 (loopnode.cpp:5717)
      V [jvm.dll+0xa93af2] PhaseIdealLoop::build_and_optimize+0x932 (loopnode.cpp:4400)
      V [jvm.dll+0x50bbfd] Compile::Optimize+0x108d (compile.cpp:2382)
      V [jvm.dll+0x508aca] Compile::Compile+0x167a (compile.cpp:831)
      V [jvm.dll+0x42bb05] C2Compiler::compile_method+0x145 (c2compiler.cpp:116)
      V [jvm.dll+0x522dd8] CompileBroker::invoke_compiler_on_method+0x858 (compileBroker.cpp:2240)
      V [jvm.dll+0x5205fd] CompileBroker::compiler_thread_loop+0x23d (compileBroker.cpp:1917)
      V [jvm.dll+0x7f0af2] JavaThread::thread_main_inner+0x282 (javaThread.cpp:698)
      V [jvm.dll+0xe01973] Thread::call_run+0x253 (thread.cpp:229)
      V [jvm.dll+0xc03668] thread_native_entry+0xb8 (os_windows.cpp:547)
      C [ucrtbase.dll+0x26b4c]
      C [KERNEL32.DLL+0x14ed0]
      C [ntdll.dll+0x7e39b]

        1. FuzzerUtils.java
          13 kB
        2. hs_err_pid28688.log
          81 kB
        3. Reduced.java
          0.8 kB
        4. Test.java
          7 kB
        5. TestTraceLoopOptsCrash.java
          0.5 kB

            Unassigned Unassigned
            chagedorn Christian Hagedorn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: