Integrated: 8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests

Zhengyu Gu zgu at openjdk.java.net
Mon Oct 11 15:14:17 UTC 2021


On Fri, 8 Oct 2021 16:47:07 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> I were able to reproduce with aggressive heuristics. 
> 
> A _wb_breakpoint GC request , while a concurrent GC is started. ShenandoahBreakpoint::_start_gc may not get set, as we bypass it if it is not a _wb_breakpoint GC, then we are forever blocked in ShenandoahBreakpoint::at_before_gc(), waiting for the flag to be set.
> 
> The solution is only run breakpoints during _wb_breakpoint GC.
> 
> Also, enforced _requested_gc_cause and _gc_requested order, ensure that read side sees latest _requested_gc_cause.
> 
> Test:
> 
> - [x] tier1 with Shenandoah

This pull request has now been integrated.

Changeset: 3f073377
Author:    Zhengyu Gu <zgu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/3f07337722a0c8c6b452a44745598268d67c0864
Stats:     27 lines in 1 file changed: 15 ins; 3 del; 9 mod

8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests

Reviewed-by: shade

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

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


More information about the shenandoah-dev mailing list