On Tue, 28 Jun 2022 22:33:07 GMT, Chris Plummer <cjplum...@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 <cjplum...@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