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