RFR: 8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state [v13]

Leonid Mesnik lmesnik at openjdk.org
Thu Aug 21 14:30:04 UTC 2025


On Wed, 20 Aug 2025 16:48:56 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:

>> The method
>> get_jvmti_thread_state()
>> should be called only while thread is in vm state.
>> 
>> The post_method_exit is doing some preparation before switching to vm state. This cause issues if thread is needed to initialize jvmti thread state.
>> 
>> The fix was found using jvmti stress agent and thus no additional regression test is required.
>
> Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fixed comment.

I see that that 
post_method_exit in the 
`void InterpreterMacroAssembler::notify_method_exit(..)` 
is called only when thread is in interp_only mode. So it is ok to call 
current_frame.interpreter_frame_result(&oop_result, &value);

I did this, and why I trying to understand what would be result in the case of `exception_exit == true` I realized that it is still safe, because this method always exit normally. 


So let me split this fix into 2 separate issues and fix them separately.  I filed
https://bugs.openjdk.org/browse/JDK-8365937 

to don't change posting because of `exception_exit`

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

PR Comment: https://git.openjdk.org/jdk/pull/26713#issuecomment-3210843477


More information about the hotspot-dev mailing list