JDK-8241900 : Loop unswitching may cause dependence on null check to be lost
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,11,14,15
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • CPU: generic
  • Submitted: 2020-03-31
  • Updated: 2022-11-03
  • Resolved: 2020-04-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 13 JDK 14 JDK 15 JDK 8
11.0.8-oracleFixed 13.0.4Fixed 14.0.2Fixed 15 b18Fixed 8u371Fixed
Related Reports
Relates :  
Relates :  
Description
Commandline:
TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" make CONF=linux-aarch64-server-fastdebug  run-test TEST=java/util/NavigableMap/LockStep.java

Always reproducible.
Comments
[~dskantz] The test uses the -XX:+StressGCM -XX:+StressLCM arguments. It's randomized so maybe you want to run in a loop and see if it fails when run a lot of times. I'm not aware of failure with 8.
28-10-2022

Hi [~roland]. I'd like to backport this to fix another issue (https://bugs.openjdk.org/browse/JDK-8288190). However I can't observe either test fail on 8. Do you recall if there was a test failure on 8 for this one? (Also considering including just the test from this one : https://bugs.openjdk.org/browse/JDK-8229496 , but could not reproduce a failure there either) Best, Daniel
28-10-2022

Fix request (13u) I'd like to have it in 13u as well. The patch applies cleanly.
09-06-2020

Fix Request (14u) This fixes the C2 bug. Patch applies cleanly to 14u, passes tier{1,2} with and without Shenandoah. New regression test does *not* fail without the product fix and still passes with it. I believe this is still good to have in 14u, it also matches what is done in 11u.
01-06-2020

jdk11 backport request I would like to have the patch in openjdk11 as well (issue is present there too, and for parity with 11.0.8_oracle). The patch applies cleanly.
29-04-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/49f0ff816424 User: roland Date: 2020-04-08 08:06:33 +0000
08-04-2020

ILW = Crash in C2 compiled code due to incorrect loop unswitching optimization, reproducible with test, disable loop unswitching = HMM = P2
06-04-2020

Note this is not shenandoah or aarch64 specific even though we've hit with shenandoah on aarch64.
02-04-2020