8208251: serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java fails intermittently on Linux-X64
Summary: Lower the interval rate and check GC objects too
Reviewed-by: dcubed, sspitsyn
Contributed-by: jcbeyler@google.com
--- a/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCTest.java Thu Jul 26 10:23:33 2018 -0700
+++ b/test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCTest.java Thu Jul 26 11:53:59 2018 -0700
@@ -43,13 +43,17 @@
throw new RuntimeException("Statistics should be null to begin with.");
}
+ // Put sampling rate to 100k to ensure samples are collected.
+ HeapMonitor.setSamplingInterval(100 * 1024);
+
HeapMonitor.enableSamplingEvents();
List<Frame> frameList = HeapMonitor.allocate();
- frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorGCTest.java", 48));
+ frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorGCTest.java", 51));
Frame[] frames = frameList.toArray(new Frame[0]);
- if (!HeapMonitor.obtainedEvents(frames)) {
+ if (!HeapMonitor.obtainedEvents(frames)
+ && !HeapMonitor.garbageContains(frames)) {
throw new RuntimeException("No expected events were found.");
}