RFR: 8253429: Error reporting should report correct state of terminated/aborted threads

Zhengyu Gu zgu at openjdk.java.net
Thu Sep 24 18:20:13 UTC 2020


For some non-JavaThread, their object instances can outlast threads' lifespan. For example, we still can query/report
thread's state after thread terminated.

But the query/report currently returns wrong state. E.g. a terminated thread appears to be alive and seemly has valid
thread stack, etc.

This patch sets non-JavaThread's state to ZOMBIE just before it terminates, so that we can distinguish terminated
thread from live thread.

Also, thread should not report its SMR info, if it has terminated or it never started (thread->osthread() == NULL).

Note: Java thread does not have such issue, its thread object is deleted before thread terminates.

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

Commit messages:
 - Don't call ThreadsSMRSupport::print_info_on() if the thread is not alive
 - init

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

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


More information about the hotspot-runtime-dev mailing list