Bug 516348 - [tests] testSuspendLongRunningCondition seem to leave a
zombie 'JDI Event Dispatch' job
Added more information for diagnosing the problem.
Change-Id: I2afa96ee3bd05dc13cfd235cee0f8db97f04dc11
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/TestUtil.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/TestUtil.java
index c9417c4..6437173 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/TestUtil.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/TestUtil.java
@@ -158,7 +158,7 @@
StringBuilder sb = new StringBuilder();
for (Job job : jobs) {
runningJobs.add(job);
- sb.append("'").append(job.getName()).append("'/");
+ sb.append("'").append(job.toString()).append("'/");
sb.append(job.getClass().getName());
sb.append(", ");
}
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/ConditionalBreakpointsTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/ConditionalBreakpointsTests.java
index d510d2c..dd843de 100755
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/ConditionalBreakpointsTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/ConditionalBreakpointsTests.java
@@ -209,6 +209,8 @@
IJavaStackFrame frame = (IJavaStackFrame) thread.getTopStackFrame();
assertNotNull("Missing top frame", frame);
assertEquals("Wrong location", "calculateSum", frame.getName());
+ thread.resume();
+ assertFalse("Thread should be resumed", thread.isSuspended());
} finally {
terminateAndRemove(thread);
removeAllBreakpoints();
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
index 92c0328..216b9c4 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
@@ -265,6 +265,16 @@
}
return false;
}
+
+ @Override
+ public String toString() {
+ try {
+ return super.toString() + " for [" + fTarget.getName() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ catch (DebugException e) {
+ return super.toString();
+ }
+ }
};
job.setSystem(true);
job.schedule();