The JvmtiTrace::safe_get_thread_name sometimes crashes when called while 
current thread is in native thread state.

It happens when thread_name is set for tracing from jvmti functions.
See:
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/prims/jvmtiEnter.xsl#L649
 

The setup is called and the thread name is used in tracing before the thread 
transition. There is no good location where this method could be called from vm 
thread_state only. Some functions like raw monitor enter/exit never transition 
in vm state. So sometimes it is needed to call this function from native thread 
state.

The change should affect JVMTI trace mode only (-XX:TraceJVMTI). 

Verified by running jvmti/jdi/jdb tests with tracing enabled.

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

Commit messages:
 - include updated.
 - 8332259

Changes: https://git.openjdk.org/jdk/pull/19275/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19275&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332259
  Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/19275.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19275/head:pull/19275

PR: https://git.openjdk.org/jdk/pull/19275

Reply via email to