This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Do not disable breakpoint requests during method invocation | ||
---|---|---|---|
Product: | debugger | Reporter: | Martin Entlicher <mentlicher> |
Component: | Java | Assignee: | Martin Entlicher <mentlicher> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | rbalada |
Priority: | P3 | Keywords: | PERFORMANCE |
Version: | 6.x | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 187533 |
Description
Martin Entlicher
2010-06-17 14:32:39 UTC
Changing that will also affect the fix of issue #65897. Also I've found that by disabling of breakpoints during method invocation, we could loose some ClassPrepare events. That could result in non-functioning breakpoints in such classes. We have to process ClassPrepare events even during method invocation. Breakpoint requests are not being disabled on method invocation. There are three use-cases possible: 1) When a thread is suspended, user invokes a method that contains a breakpoint. Solution: When we receive a breakpoint event we call resume on the event set and ignore the event. 2) While a method invocation is running, another thread hits a breakpoint with suspend all policy. Solution: Wait a while whether the method invocation happens to finish (the breakpoint can be hit right after method invocation is done) and if it does not, we resume just the method invocation thread. 3) Breakpoint condition contains a method invocation that hits another breakpoint. Solution: Since we get the breakpoint event in the event handler thread, we need to start another event handler thread to process the another breakpoint event and resume the threads suspended by such breakpoint event. All three use-cases should be verified. Fixed changeset: 173232:679c764d624d http://hg.netbeans.org/main/rev/679c764d624d Integrated into 'main-golden', will be available in build *201006190001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/679c764d624d User: mentlicher@netbeans.org Log: #187736 We do not disable breakpoints when invoking a method, we remove the events instead and resume method invocation. Also it'll be good to verify the fix with project running on JDK 1.5. Please verify bugfix for this bug, so it can be integrated into release691 repository. Thanks, -R verified in 201006220001 main #679c764d624d transplanted to release691 #87cf10e83df7 verified in NetBeans IDE 6.9.1 Dev (Build 201007152301) |