RFR: 8332259: JvmtiTrace::safe_get_thread_name fails if current thread is in native state [v4]

David Holmes dholmes at openjdk.org
Sun May 19 22:25:01 UTC 2024


On Fri, 17 May 2024 22:31:32 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:

>> 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.
>
> Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:
> 
>   wrong thread state

I don't understand the additional changes because they read the current thread's name, whereas this issue is about reading an arbitrary thread's name when the current thread happens to be in the wrong state. ???

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

PR Comment: https://git.openjdk.org/jdk/pull/19275#issuecomment-2119378363


More information about the serviceability-dev mailing list