[jdk19] RFR: 8288703: GetThreadState returns 0 for virtual thread that has terminated [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Fri Jul 1 21:48:29 UTC 2022


> This is fixing the JVM TI GetThreadState issue which returns for terminated virtual thread state = 0 instead of 2 (`JVMTI_THREAD_STATE_TERMINATED`). The problem was in the function `JvmtiEnvBase::get_threadOop_and_JavaThread` which does a check and reurns JVMTI_ERROR_THREAD_NOT_ALIVE a little bit early (before the values of `java_thread` and `thread_oop` are set). This was a root cause of the `GetThreadState` incorrect behavior.

Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:

  fix serviceability/jvmti/thread/thrstat03 to except correct GetThreadState result for terminated vthreads

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

Changes:
  - all: https://git.openjdk.org/jdk19/pull/102/files
  - new: https://git.openjdk.org/jdk19/pull/102/files/85cb92ba..7199e962

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk19&pr=102&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk19&pr=102&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk19/pull/102.diff
  Fetch: git fetch https://git.openjdk.org/jdk19 pull/102/head:pull/102

PR: https://git.openjdk.org/jdk19/pull/102


More information about the serviceability-dev mailing list