[11u] RFR: 8259227: C2 crashes with SIGFPE due to a division that floats above its zero check
Doerr, Martin
martin.doerr at sap.com
Mon Mar 22 13:15:13 UTC 2021
Hi,
thanks, Roland, for reviewing my JDK-8257822 backport!
JDK-8259227 is a follow-up fix which applies cleanly, but I had to remove "randomness" and the flag "-XX:StressSeed" from 2 tests for jdk11u as mentioned in my previous RFR email which I included below.
Please review
http://cr.openjdk.java.net/~mdoerr/8259227_C2_SIGFPE2_11u/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8259227
Original change:
https://git.openjdk.java.net/jdk16/commit/c1fb5216
Best regards,
Martin
> -----Original Message-----
> From: jdk-updates-dev <jdk-updates-dev-retn at openjdk.java.net> On
> Behalf Of Doerr, Martin
> Sent: Freitag, 19. März 2021 17:46
> To: jdk-updates-dev at openjdk.java.net
> Cc: Langer, Christoph <christoph.langer at sap.com>; Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com>
> Subject: [CAUTION] [11u] RFR: 8257822: C2 crashes with SIGFPE due to a
> division that floats above its zero check
>
> Hi,
>
> JDK-8257822 is backported to 11.0.12-oracle. I'd like to backport it for parity
> and push it together with the follow-up fixes (which apply cleanly on top of
> this one):
> https://bugs.openjdk.java.net/browse/JDK-8258505
> https://bugs.openjdk.java.net/browse/JDK-8259227
> https://bugs.openjdk.java.net/browse/JDK-8260284
> This one doesn't apply cleanly because of an unrelated context difference
> ("set_early_ctrl" has an additional parameter in 16). So it was trivial to
> resolve.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8257822
>
> Original change:
> https://git.openjdk.java.net/jdk16/commit/ce36aeaa
>
> 11u backport:
> http://cr.openjdk.java.net/~mdoerr/8257822_C2_SIGFPE_11u/webrev.00/
>
> I couldn't get the new jtreg tests passing without removing the key
> "randomness" and the flag "-XX:StressSeed". I'd like to remove them from
> TestDivZeroWithSplitIf.java and TestDivZeroDominatedBy.java with JDK-
> 8259227:
> http://cr.openjdk.java.net/~mdoerr/8259227_C2_SIGFPE2_11u/webrev.00/
> That one has applied cleanly, but I've removed these parts (also see below).
> Reason for doing it in that change is that the first 3 patches modify the same
> tests.
>
> Please review.
>
> Best regards,
> Martin
>
>
> diff -r 2150c70198e1
> test/hotspot/jtreg/compiler/loopopts/TestDivZeroDominatedBy.java
> --- a/test/hotspot/jtreg/compiler/loopopts/TestDivZeroDominatedBy.java
> Thu Jan 07 15:02:45 2021 +0000
> +++ b/test/hotspot/jtreg/compiler/loopopts/TestDivZeroDominatedBy.java
> Fri Mar 19 17:24:00 2021 +0100
> @@ -24,12 +24,12 @@
>
> /*
> * @test
> - * @key stress randomness
> + * @key stress
> * @bug 8259227
> * @summary Verify that zero check is executed before division/modulo
> operation.
> * @requires vm.compiler2.enabled
> * @run main/othervm -Xcomp -XX:-TieredCompilation -
> XX:CompileOnly=compiler/loopopts/TestDivZeroDominatedBy::test
> - * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM -
> XX:StressSeed=917280111 compiler.loopopts.TestDivZeroDominatedBy
> + * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM
> compiler.loopopts.TestDivZeroDominatedBy
> * @run main/othervm -Xcomp -XX:-TieredCompilation -
> XX:CompileOnly=compiler/loopopts/TestDivZeroDominatedBy::test
> * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM
> compiler.loopopts.TestDivZeroDominatedBy
> */
> diff -r 2150c70198e1
> test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java
> --- a/test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java Thu
> Jan 07 15:02:45 2021 +0000
> +++ b/test/hotspot/jtreg/compiler/loopopts/TestDivZeroWithSplitIf.java Fri
> Mar 19 17:24:00 2021 +0100
> @@ -24,12 +24,12 @@
>
> /*
> * @test
> - * @key stress randomness
> + * @key stress
> * @bug 8257822
> * @summary Verify that zero check is executed before division/modulo
> operation.
> * @requires vm.compiler2.enabled
> * @run main/othervm -Xcomp -XX:-TieredCompilation -
> XX:CompileOnly=compiler/loopopts/TestDivZeroWithSplitIf::test
> - * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM -
> XX:StressSeed=873732072 compiler.loopopts.TestDivZeroWithSplitIf
> + * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM
> compiler.loopopts.TestDivZeroWithSplitIf
> * @run main/othervm -Xcomp -XX:-TieredCompilation -
> XX:CompileOnly=compiler/loopopts/TestDivZeroWithSplitIf::test
> * -XX:+UnlockDiagnosticVMOptions -XX:+StressGCM
> compiler.loopopts.TestDivZeroWithSplitIf
> */
More information about the jdk-updates-dev
mailing list