8269418: jdk/jfr/event/oldobject/TestObjectSize.java failed with "RuntimeException: No events: expected false, was true"

Reviewed-by: jbachorik
This commit is contained in:
Markus Grönlund 2021-09-06 09:13:35 +00:00
parent fb5b144eca
commit 1bf5bda291
2 changed files with 16 additions and 14 deletions
test/jdk
ProblemList.txt
jdk/jfr/event/oldobject

@ -832,7 +832,6 @@ jdk/jfr/event/os/TestThreadContextSwitches.java 8247776 windows-
jdk/jfr/startupargs/TestStartName.java 8214685 windows-x64
jdk/jfr/startupargs/TestStartDuration.java 8214685 windows-x64
jdk/jfr/api/consumer/streaming/TestLatestEvent.java 8268297 windows-x64
jdk/jfr/event/oldobject/TestObjectSize.java 8269418 macosx-x64
############################################################################

@ -68,30 +68,33 @@ public class TestObjectSize {
final Random rand = new Random(1L);
long sizeLeak1, sizeLeak2, sizeLeak3;
long sizeLeak1 = -1;
long sizeLeak2 = -1;
long sizeLeak3 = -1;
do {
sizeLeak1 = -1;
sizeLeak2 = -1;
sizeLeak3 = -1;
try (Recording recording = new Recording()) {
leak.clear();
recording.enable(EventNames.OldObjectSample).withStackTrace().with("cutoff", "infinity");
recording.start();
for (int i = 0; i < 1000; i++) {
switch (rand.nextInt(3)) {
case 0: leak.add(new Leak1()); break;
case 1: leak.add(new Leak2()); break;
case 2: leak.add(new Leak3()); break;
if (sizeLeak1 == -1) {
leak.add(new Leak1());
continue;
}
if (sizeLeak2 == -1) {
leak.add(new Leak2());
continue;
}
if (sizeLeak3 == -1) {
leak.add(new Leak3());
}
}
recording.stop();
List<RecordedEvent> events = Events.fromRecording(recording);
Events.hasEvents(events);
for (RecordedEvent e : events) {
RecordedObject object = e.getValue("object");
RecordedClass type = object.getValue("type");
@ -100,13 +103,13 @@ public class TestObjectSize {
if (objectSize <= 0) {
throw new Exception("Object size for " + type.getName() + " is lower or equal to 0");
}
if (type.getName().equals(Leak1.class.getName())) {
if (type.getName().equals(Leak1.class.getName()) && sizeLeak1 == -1) {
sizeLeak1 = objectSize;
}
if (type.getName().equals(Leak2.class.getName())) {
if (type.getName().equals(Leak2.class.getName()) && sizeLeak2 == -1) {
sizeLeak2 = objectSize;
}
if (type.getName().equals(Leak3.class.getName())) {
if (type.getName().equals(Leak3.class.getName()) && sizeLeak3 == -1) {
sizeLeak3 = objectSize;
}
}