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

Reply via email to