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

assert(false) failed: infinite loop in PhaseIterGVN::optimize

    XMLWordPrintable

Details

    • b13

    Backports

      Description

        Running attached test case with:

        $ java -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:-TieredCompilation -XX:+PrintCompilation -XX:CompileOnly=TestInfiniteIGVNAfterCCP::test -XX:-PrintInlining -XX:CompileCommand=quiet -XX:PrintIdealGraphFile=graph.xml -XX:PrintIdealGraphLevel=2 -XX:-TraceLoopOpts -XX:-UseLoopPredicate -XX:-UseProfiledLoopPredicate -XX:-LoopUnswitching TestInfiniteIGVNAfterCCP

        I get:

          11 Parm === 3 [[ 117 127 123 127 59 ]] Parm1: TestInfiniteIGVNAfterCCP$A * Oop:TestInfiniteIGVNAfterCCP$A * !jvms: TestInfiniteIGVNAfterCCP::test @ bci:-1 (line 25)
         122 IfTrue === 119 [[ 135 123 ]] #1 !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:6 (line 32) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         282 IfTrue === 281 [[ 287 ]] #1 !orig=[293] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:57 (line 46) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         283 IfFalse === 281 [[ 287 ]] #0 !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:57 (line 46) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
          28 ConI === 0 [[ 378 319 337 311 345 ]] #int:1
         305 AddP === _ 303 303 304 [[ 311 ]] Oop:java/lang/Class:exact+116 * !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         159 Phi === 396 7 395 [[ 360 309 360 309 386 386 306 347 347 ]] #memory Memory: @BotPTR *+bot, idx=Bot; !orig=[175],181 !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:18 (line 40) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         308 Proj === 306 [[ 309 311 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         306 MemBarRelease === 287 1 159 1 1 [[ 307 308 ]] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         123 CastPP === 122 11 [[ 391 ]] #TestInfiniteIGVNAfterCCP$A:NotNull * Oop:TestInfiniteIGVNAfterCCP$A:NotNull * !orig=[132] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:6 (line 32) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         287 Region === 287 283 282 [[ 287 306 391 296 ]] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:64 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         311 StoreB === 307 308 305 28 [[ 312 309 ]] @java/lang/Class:exact+116 *, name=barrier, idx=7; Volatile! Memory: @java/lang/Class:exact+116 *, name=barrier, idx=7; !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 \
        (line 27)
         309 MergeMem === _ 1 308 1 1 1 1 311 1 1 159 159 [[ 312 ]] { - - - - N311:java/lang/Class:exact+116 * - - N159:java/lang/Object:NotNull:exact *,iid=165 N159:java/lang/Object:NotNull:exact+8 *,iid=165 [narrowklass] } Memory: @BotPTR *+bot, idx=Bot; !jvms: TestInfinite\
        IGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         307 Proj === 306 [[ 312 311 ]] #0 !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         375 ConL === 0 [[ 376 ]] #long:12
         391 CastPP === 287 123 [[ 376 346 376 ]] #TestInfiniteIGVNAfterCCP$A * strong dependency Oop:TestInfiniteIGVNAfterCCP$A * !orig=[295] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:61 (line 47) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         312 MemBarVolatile === 307 1 309 1 1 311 [[ 313 314 ]] !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         376 AddP === _ 391 391 375 [[ 377 380 ]] Oop:TestInfiniteIGVNAfterCCP$A+12 * !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:86 (line 54) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         314 Proj === 312 [[ 386 318 321 377 347 350 380 360 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:65 (line 51) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
         377 LoadI === _ 314 376 [[ 378 ]] @TestInfiniteIGVNAfterCCP$A+12 *, name=field1, idx=9; #int !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:86 (line 54) TestInfiniteIGVNAfterCCP::test @ bci:23 (line 27)
            0--> 380 StoreI === 357 314 376 378 [[ 386 ]] @TestInfiniteIGVNAfterCCP$A+12 *, name=field1, idx=9; Memory: @TestInfiniteIGVNAfterCCP$A+12 *, name=field1, idx=9; !jvms: TestInfiniteIGVNAfterCCP::testHelper @ bci:91 (line 54) TestInfiniteIGVNAfterCCP::test @ bci:2\
        3 (line 27)
        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/phaseX.cpp:1162
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/phaseX.cpp:1162), pid=499468, tid=499481
        # assert(false) failed: infinite loop in PhaseIterGVN::optimize
        #
        # JRE version: OpenJDK Runtime Environment (20.0) (fastdebug build 20-internal-adhoc.roland.jdk-jdk)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 20-internal-adhoc.roland.jdk-jdk, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x17ea077] PhaseIterGVN::optimize()+0x6b7
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping to /mnt/old/roland/tmp/core.499468)
        #
        # An error report file with more information is saved as:
        # /mnt/old/roland/tmp/hs_err_pid499468.log
        #
        # Compiler replay data is saved as:
        # /mnt/old/roland/tmp/replay_pid499468.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        Aborted (core dumped)

        (I first ran into this running some ctw tests and wrote the test case)

        Attachments

          Issue Links

            Activity

              People

                roland Roland Westrelin
                roland Roland Westrelin
                Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: