Community
Participate
Working Groups
Observed during the ARTs ouf our product. To reproduce the conditions, breakpoints can be used as follows: 1. set breakpoint (A) at beginning of JDIDebugTarget.removeAllBreakpoints(). 2. set any breakpoint in Java application code. 3. debug Java application in a project, and exit the application in order to hit breakpoint (A). 4. set breakpoint (B) at beginning of Breakpoint.ensureMarker(). 5. resume the thread suspended at breakpoint (A) to hit breakpoint (B). 6. manually close the project. 7. resume the thread suspended at breakpoint (B). 8. Observe logged error: !ENTRY org.eclipse.jdt.debug 4 125 2018-03-22 14:25:20.198 !MESSAGE Internal error logged from JDI Debug: !STACK 1 org.eclipse.debug.core.DebugException: Breakpoint does not have an associated marker. at org.eclipse.debug.core.model.Breakpoint.ensureMarker(Breakpoint.java:290) at org.eclipse.debug.core.model.Breakpoint$2.run(Breakpoint.java:205) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267) at org.eclipse.debug.core.model.Breakpoint.setAttribute(Breakpoint.java:209) at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.decrementInstallCount(JavaBreakpoint.java:870) at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.deregisterRequest(JavaBreakpoint.java:279) at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeRequests(JavaBreakpoint.java:783) at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeFromTarget(JavaBreakpoint.java:724) at org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint.removeFromTarget(JavaLineBreakpoint.java:191) at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.removeAllBreakpoints(JDIDebugTarget.java:1911) at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.cleanup(JDIDebugTarget.java:1865) at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.disconnected(JDIDebugTarget.java:1844) at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.handleVMDisconnect(JDIDebugTarget.java:1113) at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:161) at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:100) at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:250) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) The code in JDIDebugTarget should likely handle the closing of the project instead of reporting errors. Its perfectly OK for a user to close a project after they are done debugging its application; if the JDIDebugTarget job is stalled for whatever reason, the error will be seen in the Error Log.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.