RFR: 8373819: GenShen: Requested generation may be null [v4]
William Kemper
wkemper at openjdk.org
Mon Jan 12 17:25:17 UTC 2026
On Fri, 9 Jan 2026 17:52:53 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> This PR simplifies the generational control thread by decoupling it somewhat from the heap/gc cancellation mechanism. This is meant to prevent the control thread from seeing inconsistencies between `shHeap::_cancelled_gc` and `shGenControlThread::_requested_gc_cause`.
>
> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 14 commits:
>
> - Merge remote-tracking branch 'jdk/master' into fix-null-generation-crash
> - Merge remote-tracking branch 'jdk/master' into fix-null-generation-crash
> - Fix typo in assertion message
> - Take regulator thread out of STS before requesting GC
>
> The request may block while it waits for control thread to stop old marking. If workers are already in the STS, and the regulator thread is still in the STS, but cannot yield, the safepoint will not run. Control, worker and regulator threads deadlock each other.
> - Add comments
> - Revert back to what should be on this branch
> - Merge remote-tracking branch 'jdk/master' into fix-null-generation-crash
> - Don't know how this file got deleted
> - Carry over gc cancellation to gc request
> - Do not let allocation failure requests be overwritten by other requests
> - ... and 4 more: https://git.openjdk.org/jdk/compare/f5fa9e40...2e57f0ac
We backed out the original "fix" for JDK-8873100 here: https://bugs.openjdk.org/browse/JDK-8374048. I'll remove the issue from the PR and just leave the connections in JBS.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28932#issuecomment-3739644285
More information about the shenandoah-dev
mailing list