Community
Participate
Working Groups
In latest code. Run the 'Breakpoints' smoke test script. Note that after the target terminates, two breakpoints remain green (installed), and one returns to blue (uninstalled). The breakpoints that remained installed for me were: * method entry breakpoint on java.util.Vector.removeElement * junit.samples.VectorTest [line 39] - testClone() The breakpoint with the hit count returned to blue
This problem was introduced by the VMDisconnectedException handling that was recently added. Instead of simply logging an error and returning when we get this exception, we often need to do some cleanup work. In the case of this bug, we get a VMDisconnected exception in JavaBreakpoint#removeFromTarget and return without making the call to JavaBreakpoint#deregisterRequest, which is where the breakpoint's install count is decremented. I'll go through the breakpoint hierarchy and try to fix up all such cases.
This specific instance is fixed. Please verify.
JavaBreakpoint#removeFromTarget now deregisters the request (decrements the install count and removes itself as a listener) even if it receives a VMDisconnectedException while trying to delete the request.
Verified.