On Fri, 3 Dec 2021 05:17:26 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
> The issue appears to be due to running jstack before allowing the 4 threads > created by `LingeredAppWithLock` to fully start up and reach their blocking > or timed wait state. With this fix `LingeredAppWithLock.main()` now waits > until the threads have reached the blocking or timed wait state before > calling into `LingeredApp.main()`. > > Tests that use `LingeredAppWithLock` call `LingeredApp.startApp()`, which > will first launch `LingeredAppWithLock` and then block until the lock file is > touched. This blocking/waiting is done the call to `waitAppReady()`, which > will be called before `LingeredApp.startApp()` returns. The lock file is not > touched until `LingeredApp.main()` is called, and it is not called until > after `LingeredAppWithBloc.main()` has already verified the state of all the > threads. Thus by the time `LingeredApp.startApp()` returns, we can be sure > that the threads started by `LingeredAppWithLock.main()` are in the desired > state. These test failures I am occasionally seeing also occur without my changes and appear to be due to OSX host issues, so I'm reopening this PR. ------------- PR: https://git.openjdk.java.net/jdk/pull/6689