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

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

XMLWordPrintable

    • b18

        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.

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

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

                Created:
                Updated:
                Resolved: