RFR: 8338934: vmTestbase/nsk/jvmti/*Field*Watch/TestDescription.java tests timeout intermittently

Leonid Mesnik lmesnik at openjdk.org
Thu Aug 29 18:25:29 UTC 2024


The tests time out because of dedlock of  of the thread that is in transition and thread changing field watches. 

They use JvmtiThreadState_lock and JvmtiVTMSTransitionDisabler.

The change field watch require disabler, but attempt to use it only when already locked in 

void
JvmtiEventController::change_field_watch(jvmtiEvent event_type, bool added) {
  MutexLocker mu(JvmtiThreadState_lock);
  JvmtiEventControllerPrivate::change_field_watch(event_type, added);
}


while it is needed to first disable transitions and then try to use JvmtiThreadState_lock.
I quickly looked that most of jvmti methods do it already. Also moved disabler into jvmtiEmv.cpp to be more consistent with other methods.


I was able to verify my fix in loom repo locally. and run tier1 + tier5-svc testing in jdk.

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

Commit messages:
 - change lock
 - moved disabler

Changes: https://git.openjdk.org/jdk/pull/20776/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20776&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8338934
  Stats: 8 lines in 3 files changed: 4 ins; 2 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/20776.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20776/head:pull/20776

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


More information about the serviceability-dev mailing list