Bug 537399 - ignore VMDisconnectedException when releasing values
Same as in Interpreter::releaseObjects, we can't reenable GC if the VM
is already disconnected.
Change-Id: Ia55327ab1c56d6038879397963d936e6d03cdd1a
Signed-off-by: Julian Honnen <julian.honnen@vector.com>
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
index e54c8c8..41f8c2f 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
@@ -53,6 +53,7 @@
import org.eclipse.jdt.internal.debug.core.JavaDebugUtils;
import org.eclipse.jdt.internal.debug.core.model.JDIValue;
+import com.sun.jdi.VMDisconnectedException;
public class JavaLogicalStructure implements ILogicalStructureType, ILogicalStructureTypeDelegate3 {
@@ -340,7 +341,10 @@
try {
((IJavaObject) value).enableCollection();
} catch (DebugException e) {
- JDIDebugPlugin.log(e);
+ if (!(e.getStatus().getException() instanceof VMDisconnectedException)) {
+ // don't worry about GC if the VM has terminated
+ JDIDebugPlugin.log(e);
+ }
}
}
}