RFR: 8328741: serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java failed with unexpected owner
Leonid Mesnik
lmesnik at openjdk.org
Mon Apr 15 21:37:59 UTC 2024
On Mon, 15 Apr 2024 06:47:24 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
> This is the test issue. The `WaitingPT3` thread posted the `MonitorWait` event but has not released the `lockCheck` monitor yet. It has been fixed to wait for each `WaitingTask` thread to really reach the `WAITING` state. The same approach is used for `EnteringTask` threads. It has been fixed to wait for each `EnteringTask` thread to reach the `BLOCKED_ON_MONITOR` state.
>
> Testing:
> - Reran the test `serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java` locally
> - TBD: submit the mach5 tiers 1-6 as well
Changes requested by lmesnik (Reviewer).
test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/libObjectMonitorUsage.cpp line 183:
> 181:
> 182: static void wait_for_state(JNIEnv *jni, jthread thread, jint exp_state) {
> 183: RawMonitorLocker rml(jvmti, jni, event_lock);
The event_lock name is misleading, there are no events anymore.
Also, I am not sure if this lock is needed at all. How it is used?
I think that wait_for_state is a good candidate to be added in the library. With some additional doc about states.
-------------
PR Review: https://git.openjdk.org/jdk/pull/18778#pullrequestreview-2002207716
PR Review Comment: https://git.openjdk.org/jdk/pull/18778#discussion_r1566464641
More information about the serviceability-dev
mailing list