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
