RFR: 8340400: Shenandoah: Whitebox breakpoint GC requests may cause assertions

William Kemper wkemper at openjdk.org
Wed Sep 18 21:09:19 UTC 2024


When a test requests a concurrent GC breakpoint, the calling thread arranges for itself to block until the concurrent GC thread notifies it that the GC has reached the requested breakpoint (phase). The code that handles the whitebox breakpoint request should therefore not block the caller. An attempt was made to do this, but the request just has the caller thread run in a busy loop without waiting. What's more, this loop resets the requested gc cause on every iteration, which may lead to gc cycles with a wb_breakpoint cause, but no breakpoint set - which violates assertions.

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

Commit messages:
 - Do not block whitebox breakpoint requests for gc

Changes: https://git.openjdk.org/jdk/pull/21074/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21074&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8340400
  Stats: 13 lines in 1 file changed: 10 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/21074.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21074/head:pull/21074

PR: https://git.openjdk.org/jdk/pull/21074


More information about the hotspot-gc-dev mailing list