On Mon, 12 May 2025 23:19:58 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
> The tests `SuspendResume1`, `SuspendResume2` and `SuspendResumeAll` are > intermittently failed with a timeout (deadlock). The tests run with > `-Djdk.virtualThreadScheduler.maxPoolSize=1` so there is only one carrier. > The short sleep in `TestedThread.run` isn't sufficient to make progress. This > will happen if tasks pushed by the delayed scheduler are executing before the > tasks for the newly started virtual thread. FJP won't search other submission > queues until the queue it keeps going back to is empty or there is > contention. These deadlocks can be made better reproducible if the sleep in > `TestedThread.run` is made minimal (1 millisecond). > The fix is to increase the sleep to 50 milliseconds and also to decrease the > busy part of the busy loop. > > Testing: > - Mach5 test runs of the fixed tests FYI: The same tests are passing after this change on both my linux-aarch64 and linux-riscv64 platforms. Thanks. ------------- PR Comment: https://git.openjdk.org/jdk/pull/25194#issuecomment-2878399012