> 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:

  rearranged to have one JvmtiVTMSTransitionDisabler instead of two

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20413/files
  - new: https://git.openjdk.org/jdk/pull/20413/files/6a7ca7bc..bb94448c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20413&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20413&range=00-01

  Stats: 4 lines in 1 file changed: 2 ins; 2 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

Reply via email to