RFR: 8332259: JvmtiTrace::safe_get_thread_name is not safe
Leonid Mesnik
lmesnik at openjdk.org
Fri May 17 01:53:14 UTC 2024
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
More information about the serviceability-dev
mailing list