On Thu, 1 Aug 2024 04:09:31 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
> The JVMTI Watch Field functions do not disable VTMS transitions with the > `JvmtiVTMSTransitionDisabler`: > - `SetFieldAccessWatch()` > - `ClearFieldAccessWatch()` > - `SetFieldModificationWatch()` > - `ClearFieldModificationWatch()` > so in the `recompute_enabled()` we could see that a vthread is mounted, but > in the `EnterInterpOnlyModeClosure` handshake the thread could have been > unmounted already. This is a root cause of failures with this assert. > > The fix is to disable transitions in the > `JvmtiEventControllerPrivate::change_field_watch()` function. > > Testing: > - TBD: submit mach5 tiers 1-6 This pull request has now been integrated. Changeset: 36d08c21 Author: Serguei Spitsyn <sspit...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/36d08c213d03deddf69ecb9770a3afef73a15444 Stats: 5 lines in 2 files changed: 3 ins; 1 del; 1 mod 8336846: assert(state->get_thread() == jt) failed: handshake unsafe conditions Reviewed-by: amenkov, dholmes, cjplummer, pchilanomate, lmesnik ------------- PR: https://git.openjdk.org/jdk/pull/20413