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

C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10

    XMLWordPrintable

Details

    • b18

    Description

      A fuzzy test have crashed with the following error:

      assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN

      Missed Value optimization:
      dist dump
      ---------------------------------------------
         1 524 OpaqueZeroTripGuard === _ 233 [[ 525 ]]
         1 491 AddI === _ 501 32 [[ 490 501 510 525 ]] !orig=422,[242] !jvms: Test::vMeth @ bci:180 (line 274)
         0 525 CmpI === _ 491 524 [[ 526 ]]
      Current type:
      int:-1..1
      Optimized type:
      int:1


      Stack:

      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x13ccb00] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x4bc (phaseX.cpp:1080)
      V [libjvm.dylib+0x13cd4a8] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, char*)+0x40
      V [libjvm.dylib+0x6bbc4c] report_vm_error(char const*, int, char const*, char const*, ...)+0x6c
      V [libjvm.dylib+0x10c2a94] PhaseIterGVN::verify_optimize()+0x480
      V [libjvm.dylib+0x6191bc] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x124
      V [libjvm.dylib+0x6195b4] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x70
      V [libjvm.dylib+0x6125dc] Compile::Optimize()+0xa0c
      V [libjvm.dylib+0x610678] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1474
      V [libjvm.dylib+0x4c3488] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1dc
      V [libjvm.dylib+0x631110] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa00
      V [libjvm.dylib+0x630450] CompileBroker::compiler_thread_loop()+0x3c8
      V [libjvm.dylib+0xa3dfcc] JavaThread::thread_main_inner()+0x334
      V [libjvm.dylib+0x12f4128] Thread::call_run()+0x134
      V [libjvm.dylib+0x1055654] thread_native_entry(Thread*)+0x160
      C [libsystem_pthread.dylib+0x706c] _pthread_start+0x94

      The test was started on macosx-aarch64 (have also been spotted on linux-x64) with the following stress flags:

      -XX:RepeatCompilation=81 -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileOnly=*Test*::* -XX:CompileCommand=quiet -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:StressSeed=578462776 -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 -XX:MaxRAMPercentage=6.25

      Please find hs_err and the test files attached.

      Attachments

        1. FuzzerUtils.java
          13 kB
        2. hs_err_pid75178.log
          89 kB
        3. Reduced1.java
          0.7 kB
        4. Reduced2.java
          0.3 kB
        5. replay_pid75178.log
          127 kB
        6. Test.java
          15 kB

        Issue Links

          Activity

            People

              epeter Emanuel Peter
              enikitin Evgeny Nikitin
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: