JDK-8211233 : MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-09-27
  • Updated: 2021-02-15
  • Resolved: 2018-10-11
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 8 Other
11.0.5Fixed 12 b16Fixed 8u301Fixed openjdk8u292Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
I hit a bug where MemBarNode::leading_membar() doesn't return the right result because a dying part of the graph between a trailing and a leading membars is not properly handled.
Comments
Fix Request 11u What: This is a follow-up fix for JDK-8209420. Backport requires JDK-8209420 to be applied first. Original patch applies to jdk11u cleanly Why: Review thread: https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-August/007870.html As discussed in the thread, we are witnessing real-world volatile access inconsistency bugs on our Kunpeng 64/128 core aarch64 server platform. The same issue is there in jdk11u in theory. As pointed out by adinn, this patch would be worth backporting /even without/ the problems we have encountered because it significantly reduces complexity. Testing: Run tier1 test with 11u aarch64 release build, no new failure found Passed Jcstress test with 11u aarch64 release build Risk: The original patch was committed to jdk13 about one year ago, risk should be low
14-08-2019

ILW = H(possible crash) L(rare) M(disable compilation) = P3
28-09-2018