On Thu, 4 Dec 2025 04:06:53 GMT, Chris Plummer <[email protected]> wrote:

> During the debugger disconnect we free all ThreadNodes for vthreads. Part of 
> doing this includes calling JVMTI SetThreadLocalStorage(thread, NULL). It's 
> possible that after the disconnect process has already started the VM starts 
> to exit (resulting in a VMDeath event). Once this happens 
> SetThreadLocalStorage will start to return JVMTI_ERROR_WRONG_PHASE. We should 
> ignore this error rather than having it result in an fatal error for the 
> debug agent.
> 
> Tested with tier1, all tier5 svc testing, and ran vmTestbase/nsk/jdi 10 times 
> on linux-aarch64-debug, which is the only platform that has seen this failure 
> so far.

This pull request has now been integrated.

Changeset: be8cbfa6
Author:    Chris Plummer <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/be8cbfa6129d19403c9871c22721b902856f1886
Stats:     4 lines in 1 file changed: 4 ins; 0 del; 0 mod

8362083: JDI VirtualMachine/dispose/dispose001 failed with FATAL ERROR in 
native method: JDWP cannot set thread local storage, 
jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)

Reviewed-by: lmesnik, sspitsyn, amenkov

-------------

PR: https://git.openjdk.org/jdk/pull/28653

Reply via email to