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.

Bug 75902

Summary: JSP debugging unusable
Product: debugger Reporter: Jiri Skrivanek <jskrivanek>
Component: CodeAssignee: Martin Entlicher <mentlicher>
Status: VERIFIED FIXED    
Severity: blocker CC: pjiricka
Priority: P2 Keywords: REGRESSION
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Jiri Skrivanek 2006-05-04 10:05:36 UTC
JSP debugging is almost unusable after implementation of enhancement #50761
(i.e. from build 20060503-0857). The problem appears only when you add
breakpoint during debugging. If breakpoint exists before debugger is started it
works well. To reproduce:

- create web application from template
- start debugger (F5) and wait until index.jsp appears in browser
- add breakpoint to index.jsp (e.g. line 22)
- reload page in browser. Debugger Console writes "Breakpoint reached at line 57
in index.jsp by thread http-8084-Processor22." but there is no green line marker
and windows Watches, Local Variables and Call Stack show "Please, wait" node or
are empty. Continue action does nothing.

Build 20060503-0857, JDK1.5.0_06, WindowsXP.
Comment 1 Martin Entlicher 2006-05-04 11:31:22 UTC
Reproduced, starting to work on it...
Comment 2 Martin Entlicher 2006-05-04 15:04:51 UTC
The problem is in this thread, which does not finish:

"Debugger operator thread" daemon prio=10 tid=0x09351000 nid=0x10ef in
Object.wait() [0xa5eb3000..0xa5eb3e40]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.Task.waitFinished(Task.java:129)
        - locked <0xab725ab0> (a org.openide.util.RequestProcessor$Task)
        at
org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:746)
        at org.openide.util.Task.waitFinished(Task.java:159)
        at
org.netbeans.api.debugger.DebuggerManager.startDebugging(DebuggerManager.java:332)
        at
org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.checkJSR45Languages(JPDADebuggerImpl.java:1080)
        at
org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.setStoppedState(JPDADebuggerImpl.java:802)
        - locked <0xab67faa8> (a java.lang.Object)
        at
org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.perform(BreakpointImpl.java:227)
        at
org.netbeans.modules.debugger.jpda.breakpoints.LineBreakpointImpl.exec(LineBreakpointImpl.java:158)
        at org.netbeans.modules.debugger.jpda.util.Operator$1.run(Operator.java:194)
        at java.lang.Thread.run(Thread.java:626)

It's caused by StartActionProvider.postAction(), which does not call
actionPerformedNotifier.run() in one case.
Comment 3 Martin Entlicher 2006-05-04 15:06:22 UTC
Fixed in trunk:

/cvs/debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StartActionProvider.java,v
 <--  StartActionProvider.java
new revision: 1.23; previous revision: 1.22
Comment 4 Jiri Skrivanek 2006-05-05 08:39:23 UTC
Verified in build 20060504-1526.