On Tue, 16 Sep 2025 18:20:13 GMT, Leonid Mesnik <[email protected]> wrote:
>> The
>> `SuspendResumeManager::suspend(bool register_vthread_SR)`
>> has an issue while suspend current virtual thread. The suspend tries to
>> access vthread oop field to read vthread id after thread is blocked.
>>
>> Seems, that this case is not used by our debugger and was not covered by
>> tests. I found it using jtreg test thread virtual factory plugin. I updated
>> existing test to reproduce this problem. The easiest way is to suspend
>> current virtual thread using plain SuspendThread.
>>
>> The fix added some "asymmetry" in suspend/resume mechanism which is
>> required because self-suspend doesn't have resume counterpart.
>
> Leonid Mesnik has updated the pull request incrementally with one additional
> commit since the last revision:
>
> typo fixed
src/hotspot/share/runtime/suspendResumeManager.cpp line 92:
> 90: if (register_vthread_SR) {
> 91: assert(_target->is_vthread_mounted(), "sanity check");
> 92: JvmtiVTSuspender::register_vthread_suspend(id);
Suggestion:
JvmtiVTSuspender::register_vthread_suspend(id);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27317#discussion_r2353373334