From 21f448d6ef707335d6e5fe0888030aaa0fa3208f Mon Sep 17 00:00:00 2001 From: "Daniel D. Daugherty" Date: Sat, 14 Nov 2020 10:26:18 -0500 Subject: [PATCH] 8244679: JVM/TI GetCurrentContendedMonitor/contmon001 failed due to "(IsSameObject#3) unexpected monitor object: 0x000000562336DBA8" --- .../jvmti/GetCurrentContendedMonitor/contmon001.java | 10 ++++++++++ .../jvmti/GetCurrentContendedMonitor/contmon002.java | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java index 320190d05c8..6440983ab9a 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001.java @@ -42,6 +42,7 @@ public class contmon001 { } } + public static Wicket dummyBarrier; public static Wicket startingBarrier; public static Wicket waitingBarrier; static Object lockFld = new Object(); @@ -75,10 +76,15 @@ public class contmon001 { out.println("Check #1 done"); contmon001a thr = new contmon001a(); + dummyBarrier = new Wicket(); startingBarrier = new Wicket(); waitingBarrier = new Wicket(); thr.start(); + if (true || DEBUG_MODE) + out.println("\nWaiting for auxiliary thread using dummy to load classes..."); + dummyBarrier.waitFor(); + if (DEBUG_MODE) out.println("\nWaiting for auxiliary thread ..."); startingBarrier.waitFor(); @@ -130,6 +136,10 @@ class contmon001a extends Thread { private volatile boolean flag = true; public void run() { + if (true || contmon001.DEBUG_MODE) + contmon001.out.println("\nnotifying main thread using dummy to load classes..."); + contmon001.dummyBarrier.unlock(); + if (contmon001.DEBUG_MODE) contmon001.out.println("check #2: verifying a contended monitor of current auxiliary thread ..."); contmon001.checkMon(2, currentThread(), null); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java index 3b9296d7083..de459bbe4dc 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002.java @@ -42,6 +42,7 @@ public class contmon002 { } } + public static Wicket dummyBarrier; public static Wicket startingBarrier; public static void main(String[] args) { @@ -54,8 +55,12 @@ public class contmon002 { checkMon(1, Thread.currentThread()); contmon002a thr = new contmon002a(); + dummyBarrier = new Wicket(); startingBarrier = new Wicket(); thr.start(); + System.out.println("\nWaiting for auxiliary thread using dummy to load classes..."); + dummyBarrier.waitFor(); + startingBarrier.waitFor(); checkMon(2, thr); thr.letItGo(); @@ -89,6 +94,9 @@ class contmon002a extends Thread { } public void run() { + System.out.println("\nnotifying main thread using dummy to load classes..."); + contmon002.dummyBarrier.unlock(); + meth(); } -- 2.28.0