# HG changeset patch # User jcbeyler # Date 1532541076 25200 # Node ID 08d99d33e0aacceab2cd96f788c20e650f5d3d4b # Parent 766df90d6fb551a03a0d0046555b6cd27ec48950 8207765: HeapMonitorTest.java intermittent failure Summary: Lower the interval rate and check GC objects too Reviewed-by: dcubed, sspitsyn Contributed-by: jcbeyler@google.com diff -r 766df90d6fb5 -r 08d99d33e0aa test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTest.java --- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTest.java Wed Jul 25 12:32:59 2018 -0700 +++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTest.java Wed Jul 25 10:51:16 2018 -0700 @@ -43,16 +43,20 @@ HeapMonitor.setAllocationIterations(Integer.parseInt(args[0])); } + // Put sampling rate to 100k to ensure samples are collected. + HeapMonitor.setSamplingInterval(100 * 1024); + if (!HeapMonitor.eventStorageIsEmpty()) { throw new RuntimeException("Storage is not empty at test start..."); } HeapMonitor.enableSamplingEvents(); List frameList = HeapMonitor.allocate(); - frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorTest.java", 51)); + frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorTest.java", 54)); Frame[] frames = frameList.toArray(new Frame[0]); - if (!HeapMonitor.obtainedEvents(frames)) { + if (!HeapMonitor.obtainedEvents(frames) + && !HeapMonitor.garbageContains(frames)) { throw new RuntimeException("Events not found with the right frames."); }