JDK-8237392 : Shenandoah: Remove unreliable assertion
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8-shenandoah,11.0.9,14,15
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-01-16
  • Updated: 2021-02-08
  • Resolved: 2020-01-16
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 14 JDK 15
11.0.11Fixed 14 b33Fixed 15Fixed
Related Reports
Relates :  
Description
JDK-8237369 added assertion to ensure that incoming object is alive outside of marking cycle. But this assertion is unreliable, cause Shenandoah cleans bitmap in concurrent phase, and has_forwarded_object flag can be carried into next GC cycle in piggyback ref-update mode.

Solution: remove the assertion. 
Comments
Fix Request (11u) This fixes the Shenandoah-specific breakage after JDK-8235324 and JDK-8237369 backports. Patch applies cleanly to 11u. Patched JDK passes tier{1,2,3} with Shenandoah.
03-02-2021

URL: https://hg.openjdk.java.net/jdk/jdk14/rev/5dae0969decc User: zgu Date: 2020-01-16 21:30:49 +0000
16-01-2020