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