RFR: 8351464: Shenandoah: Hang on ShenandoahController::handle_alloc_failure when run test TestAllocHumongousFragment#generational [v2]

William Kemper wkemper at openjdk.org
Tue Mar 11 22:59:45 UTC 2025


> Failed allocations may race to cancel the GC with the collector who is working to clear the cancelled GC. When the GC wins this race, it will fail to notify threads that are waiting for the failed GC cycle to complete. This change directly tracks the number of threads waiting due to an allocation failure, rather than indirectly tracking them through the cancelled gc state.
> 
> # Testing
> Ran TestAllocHumongousFragment#generational 6,500 times without failures.

William Kemper has updated the pull request incrementally with one additional commit since the last revision:

  Notify alloc waiters when GC completes without cancellation

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23997/files
  - new: https://git.openjdk.org/jdk/pull/23997/files/d0168ca9..cb9cd72f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23997&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23997&range=00-01

  Stats: 12 lines in 3 files changed: 0 ins; 9 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/23997.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23997/head:pull/23997

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


More information about the shenandoah-dev mailing list