RFR: 8268285: vmTestbase/nsk/jvmti/GetThreadState/thrstat002 failed with "Wrong thread "thr1" (...) state after SuspendThread" [v3]
David Holmes
dholmes at openjdk.java.net
Thu Jun 10 02:54:18 UTC 2021
On Thu, 10 Jun 2021 00:49:38 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
>> The test is intermittently failing because the tested thread thrstat002a is blocked on a monitor in the PrintStream.println(String) when it is expected to be in the RUNNABLE state:
>> thrstat002.runningBarrier.unlock(); <= now the thrstat002 state can be checked and suspend issued
>> System.out.println("thrstat002a.run after runningBarrier unlock"); <= blocked on the monitor in here
>>
>> The fix is to move println line to the point before thrstat002.runningBarrier.unlock();
>> Also, a fflush(0) statement is added to the agent *_checkStatus() function to get output better sync'ed.
>
> Serguei Spitsyn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>
> - Merge
> - add a warning comment to thrstat002a.run to prevent println's before the while loop
> - 8268285: fix failure in test vmTestbase/nsk/jvmti/GetThreadState/thrstat002
LGTM2 :)
The two adjacent printlns are somewhat redundant (sorry I overlooked that) but harmless.
Thanks,
David
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/4447
More information about the serviceability-dev
mailing list