[jdk19] Integrated: 8287847: Fatal Error when suspending virtual thread after it has terminated
Chris Plummer
cjplummer at openjdk.org
Tue Jul 5 17:50:46 UTC 2022
On Tue, 28 Jun 2022 22:33:07 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
> This fixes a bug in the debug agent when there is a request to suspend a virtual thread that has already terminated. The issue was that unless the debug agent was currently under a "suspend all", it would not properly put the virtual thread on the `otherThreads` list, and instead added it to `runningVThreads`. This meant at the end of `insertThread()` the following code tried to do a JVMTI `SetThreadLocalStorage`, which can't be done on a terminated thread.
>
>
> if (list != &otherThreads) {
> setThreadLocalStorage(node->thread, (void*)node);
> }
This pull request has now been integrated.
Changeset: 29ea6429
Author: Chris Plummer <cjplummer at openjdk.org>
URL: https://git.openjdk.org/jdk19/commit/29ea6429d2f906a61331aab1aef172d0d854fb6f
Stats: 183 lines in 4 files changed: 180 ins; 1 del; 2 mod
8287847: Fatal Error when suspending virtual thread after it has terminated
Reviewed-by: alanb, sspitsyn
-------------
PR: https://git.openjdk.org/jdk19/pull/88
More information about the serviceability-dev
mailing list