> 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
Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision: use MUTEX_DEFL instead of MUTEX_DEFN to define JvmtiVTMSTransition_lock ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20413/files - new: https://git.openjdk.org/jdk/pull/20413/files/3d166446..29f807de Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20413&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20413&range=02-03 Stats: 2 lines in 1 file changed: 1 ins; 1 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/20413.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20413/head:pull/20413 PR: https://git.openjdk.org/jdk/pull/20413
