Integrated: 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point

Zhengyu Gu zgu at openjdk.java.net
Mon Nov 1 12:21:19 UTC 2021


On Sat, 30 Oct 2021 12:56:38 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> There is subtle race when concurrent GC comes out of final mark safepoint: an allocation failure occurred before control thread checks OOM conditional, that triggers degenerated GC enters "mark" degenerated point.
> 
> Degenerated GC re-executes final mark, then switching off SATB, but it is already off, because concurrent GC already completed final mark, that triggers the assertion.
> 
> The solution is to consult concurrent_mark_in_progress flag when selects degen-point.
> 
> Test:
> - [x] hotspot_gc_shenandoah

This pull request has now been integrated.

Changeset: dbf5100d
Author:    Zhengyu Gu <zgu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/dbf5100dd705fbe4a3aeae49405ca541d581f106
Stats:     4 lines in 1 file changed: 2 ins; 0 del; 2 mod

8276201: Shenandoah: Race results degenerated GC to enter wrong entry point

Reviewed-by: shade

-------------

PR: https://git.openjdk.java.net/jdk/pull/6179



More information about the hotspot-gc-dev mailing list