Integrated: 8367725: Incorrect reading of oop in SuspendResumeManager::suspend while thread is blocked
Leonid Mesnik
lmesnik at openjdk.org
Fri Sep 19 15:23:36 UTC 2025
On Tue, 16 Sep 2025 15:55:12 GMT, Leonid Mesnik <lmesnik at openjdk.org> 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.
This pull request has now been integrated.
Changeset: 16458b60
Author: Leonid Mesnik <lmesnik at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/16458b60c9ccdfac60140c8186f31d5d8a57f2f9
Stats: 43 lines in 5 files changed: 35 ins; 1 del; 7 mod
8367725: Incorrect reading of oop in SuspendResumeManager::suspend while thread is blocked
Reviewed-by: pchilanomate, dholmes, sspitsyn
-------------
PR: https://git.openjdk.org/jdk/pull/27317
More information about the serviceability-dev
mailing list