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