JDK-8221083 : [ppc64] Wrong oop compare in C1-generated code
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12,13
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • CPU: ppc
  • Submitted: 2019-03-19
  • Updated: 2022-04-25
  • Resolved: 2019-03-26
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 12 JDK 13
11.0.4Fixed 12.0.2Fixed 13 b14Fixed
Related Reports
Relates :  
Relates :  
Description
The C1 generated code for comparing two oops erroneously emits a 32-bit instead of an 64-bit compare instruction. Because oops are only compared for equality/inequality, this bug only becomes manifests for oops which are equal in their 32 least-significant bits but unequal otherwise. This means the two oops have to be exactly 4GB apart from each other in the heap or their 32 least significant bits have to be zero when compared to 'null'.

This makes the occurrence of this bug extremely unlikely, but when it happens, the consequences are usually a semantically wrong program execution and not a crash, which makes it very hard to detect.
Comments
Fix request This fix shall be brought to jdk11u and jdk12u as it fixes an issue that is not very likely to occur, but when it is, it is quite serious. So, for jdk11u I request jdk11u-critical approval to get it into 11.0.3. Occurences were observed lately in ci builds of SapMachine and at debian. The fix needs to go together with JDK-8221483 as the included test needed an additional fixup. Patch applies cleanly.
29-03-2019

URL: http://hg.openjdk.java.net/jdk/jdk/rev/5487a925f70d User: simonis Date: 2019-03-26 10:53:32 +0000
26-03-2019