8386085: Livelock in AbstractQueuedSyncronizer.cleanQueue() when multiple threads do tryAcquire() with a short timeout and no permits available#2938
Conversation
…iple threads do tryAcquire() with a short timeout and no permits available Reviewed-by: dl, alanb
|
👋 Welcome back kshiroko! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
This backport pull request has now been updated with issue from the original commit. |
|
|
|
/approval request This PR fixes a long-standing bug in java.util.concurrent which leads to a livelock in all participating threads with 100% CPU consumption. Tested with reproducer and j.u.c. test on major platforms and CPUs. |
|
@kirill-shirokov |
Testing done:
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/2938/head:pull/2938$ git checkout pull/2938Update a local copy of the PR:
$ git checkout pull/2938$ git pull https://git.openjdk.org/jdk21u-dev.git pull/2938/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2938View PR using the GUI difftool:
$ git pr show -t 2938Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/2938.diff
Using Webrev
Link to Webrev Comment