JDK-8274501 : c2i entry barriers read int as long on AArch64
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 15,17,18
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2021-09-29
  • Updated: 2022-02-10
  • Resolved: 2021-09-30
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 15 JDK 17 JDK 18
15.0.6Fixed 17.0.2Fixed 18 b18Fixed
Related Reports
Relates :  
Relates :  
Description
There was a bug in the x86_64 implementation of the c2i entry barriers. We read the CLD::_keep_alive int as a 64 bit integer, while it is of course in fact a 32 bit integer. It was fixed in the patch that ported it to x86_32 (JDK-8235262). However, somewhere in-between I think the wrong code was used as a basis for the AArch64 implementation, which now seemingly has that same bug.
Comments
Fix Request Trivial fix for jdk17u and jdk15u in AARCH64 platform code. Should get backported to fix obvious bug. Applies cleanly.
01-11-2021

Removing jdk17u-fix-request label for now. Please see rule 1 (https://openjdk.java.net/projects/jdk-updates/approval.html).
22-10-2021

Introduced as part of JDK-8216557 in 15.
04-10-2021

Changeset: f08180f3 Author: Erik Ă–sterlund <eosterlund@openjdk.org> Date: 2021-09-30 15:52:36 +0000 URL: https://git.openjdk.java.net/jdk/commit/f08180f35f18263e33d96b6d1f06e5129328f01a
30-09-2021

Similar to when the bug was discovered on x86_64, this doesn't seem to cause any actual failures. But it should be fixed either way.
29-09-2021