[Ping] Re: Request for Approval: Backport of 8146792 : Predicate moved after partial peel may lead to broken graph

Yangfei (Felix) felix.yang at huawei.com
Tue Aug 6 00:35:35 UTC 2019


Ping...

This has passed jtreg test with a jdk8u fastdebug x86-64 build.  Is it OK to backport this?

Thanks,
Felix



Hi,



Please approve the backport of 8146792 to 8u-dev.



This issue can always be reproduced with jdk built from the latest jdk8u master repo:



Test case reduced from one fuzz test:

public class Test {



    public static void foo() {

        int iArr1[]   = new int[10];

        int iArr2[][] = new int[10][10];



        for (long i = 0; i < 8; ++i) {

            iArr1[(int)i] = 10;



            for (int j = 0; j < 16; ++j) {

                iArr1 = iArr2[0];

            }

        }

    }



    public static void main(String[] strArr) {

        for (int i = 0; i < 256; i++) {

            foo();

        }

    }



}



Command line: java -XX:+UseSerialGC -XX:-TieredCompilation -XX:-RangeCheckElimination -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:LoopMaxUnroll=1 -XX:-UseCompressedClassPointers -XX:-UseCompressedOops -XX:CompileCommand=compileonly,Test::foo Test



JVM crashed due to bad C2 graph.  This issue will not trigger with -XX:-UseLoopPredicate.



      Bug: https://bugs.openjdk.java.net/browse/JDK-8146792

      JDK9 Changeset: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/2748d975045f



      This backport is almost clean for the latest jdk8u master repo.



Thanks,

Felix



More information about the jdk8u-dev mailing list