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

Y. Srinivas Ramakrishna ysr at openjdk.org
Tue Mar 18 22:38:08 UTC 2025


On Wed, 12 Mar 2025 00:05:05 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> 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:
> 
>   The non-generational modes may also fail to notify waiters

Is the description in the PR still valid?

> This change directly tracks the number of threads waiting due to an allocation failure, rather than indirectly tracking them through the cancelled gc state.

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

PR Comment: https://git.openjdk.org/jdk/pull/23997#issuecomment-2734885815


More information about the shenandoah-dev mailing list