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

William Kemper wkemper at openjdk.org
Tue Mar 11 19:37:15 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.

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

Commit messages:
 - Track number of threads waiting on allocation failures for notification

Changes: https://git.openjdk.org/jdk/pull/23997/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23997&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8351464
  Stats: 12 lines in 3 files changed: 9 ins; 0 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