RFR: 8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests [v2]

Zhengyu Gu zgu at openjdk.java.net
Mon Oct 11 12:42:33 UTC 2021


> 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

Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:

  Aleksey's comment

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5868/files
  - new: https://git.openjdk.java.net/jdk/pull/5868/files/175811c7..e34cd1bc

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5868&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5868&range=00-01

  Stats: 4 lines in 2 files changed: 1 ins; 1 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5868.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5868/head:pull/5868

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



More information about the hotspot-gc-dev mailing list