8206086: [Graal] JDI tests fail with com.sun.jdi.ObjectCollectedException

Reviewed-by: sspitsyn, cjplummer, amenkov
This commit is contained in:
Daniil Titov 2018-06-29 12:34:03 -07:00
parent bfb397a679
commit bebd49cf84
2 changed files with 20 additions and 19 deletions

View File

@ -121,10 +121,6 @@ vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn007/TestDesc
vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance001/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance002/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance003/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/EventRequestManager/methodExitRequests/methexitreq002/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/MonitorContendedEnteredRequest/MonitorContendedEnteredRequest001/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/MonitorContendedEnteredRequest/MonitorContendedEnteredRequest002/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/MonitorWaitedRequest/addClassExclusionFilter/TestDescription.java 8203174 generic-all
vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects001/referringObjects001.java 8203174 generic-all
vmTestbase/nsk/jdi/ReferenceType/instances/instances002/instances002.java 8203174 generic-all
vmTestbase/nsk/jdi/ReferenceType/instances/instances003/instances003.java 8203174 generic-all

View File

@ -139,7 +139,7 @@ public class EventTestTemplates {
// can't control events from system libraries, so save events only from nsk packages
protected boolean shouldSaveEvent(Event event) {
return isEventFromNSK(event);
return isEventFromNSK(event, debuggee);
}
protected String debuggeeClassName() {
@ -415,7 +415,7 @@ public class EventTestTemplates {
// can't control events from system libraries, so save events only from nsk packages
protected boolean shouldSaveEvent(Event event) {
return isEventFromNSK(event);
return isEventFromNSK(event, debuggee);
}
protected String debuggeeClassName() {
@ -436,20 +436,25 @@ public class EventTestTemplates {
}
}
static public boolean isEventFromNSK(Event event) {
if (event instanceof MonitorContendedEnterEvent) {
return ((MonitorContendedEnterEvent) event).location() != null && ((MonitorContendedEnterEvent) event).monitor().type().name().startsWith("nsk.");
static public boolean isEventFromNSK(Event event, Debugee debuggee) {
try {
if (event instanceof MonitorContendedEnterEvent) {
return ((MonitorContendedEnterEvent) event).location() != null && ((MonitorContendedEnterEvent) event).monitor().type().name().startsWith("nsk.");
}
if (event instanceof MonitorContendedEnteredEvent) {
return ((MonitorContendedEnteredEvent) event).location() != null && ((MonitorContendedEnteredEvent) event).monitor().type().name().startsWith("nsk.");
}
if (event instanceof MonitorWaitEvent) {
return ((MonitorWaitEvent) event).monitor().type().name().startsWith("nsk.");
}
if (event instanceof MonitorWaitedEvent) {
return ((MonitorWaitedEvent) event).monitor().type().name().startsWith("nsk.");
}
} catch (ObjectCollectedException ex) {
// The monitor object the event refers to might be already collected. Ignore this exception.
debuggee.getLog().display("Exception caught:" + ex);
return false;
}
if (event instanceof MonitorContendedEnteredEvent) {
return ((MonitorContendedEnteredEvent) event).location() != null && ((MonitorContendedEnteredEvent) event).monitor().type().name().startsWith("nsk.");
}
if (event instanceof MonitorWaitEvent) {
return ((MonitorWaitEvent) event).monitor().type().name().startsWith("nsk.");
}
if (event instanceof MonitorWaitedEvent) {
return ((MonitorWaitedEvent) event).monitor().type().name().startsWith("nsk.");
}
// don't filter other events
return true;
}