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

This pull request has now been integrated.

Changeset: 265bc5f4
Author:    Serguei Spitsyn <sspit...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/265bc5f47d4c0b973fd09d3c2d7576f5f786399f
Stats:     12 lines in 3 files changed: 0 ins; 0 del; 12 mod

8353496: SuspendResume1.java and SuspendResume2.java timeout after JDK-8319447

Reviewed-by: cjplummer, alanb

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

PR: https://git.openjdk.org/jdk/pull/25194

Reply via email to