RFR: 8268285: vmTestbase/nsk/jvmti/GetThreadState/thrstat002 failed with "Wrong thread "thr1" (...) state after SuspendThread"

Serguei Spitsyn sspitsyn at openjdk.java.net
Wed Jun 9 22:18:24 UTC 2021


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.

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

Commit messages:
 - 8268285: fix failure in test vmTestbase/nsk/jvmti/GetThreadState/thrstat002

Changes: https://git.openjdk.java.net/jdk/pull/4447/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4447&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268285
  Stats: 5 lines in 2 files changed: 2 ins; 1 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4447.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4447/head:pull/4447

PR: https://git.openjdk.java.net/jdk/pull/4447


More information about the serviceability-dev mailing list