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 67502 - [50cat] Conditional breakpoint Throws ISF exception
Summary: [50cat] Conditional breakpoint Throws ISF exception
Status: CLOSED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Java (show other bugs)
Version: 5.x
Hardware: PC Windows ME/2000
: P3 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords: RANDOM, THREAD
Depends on:
Blocks:
 
Reported: 2005-10-25 15:50 UTC by workerbee
Modified: 2010-04-29 09:26 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description workerbee 2005-10-25 15:50:54 UTC
[ JDK VERSION : 1.5.0_03 ]

This could be a duplicate of 59125 I have only hit this so far however when doing a watch variable so I'll file it also. 

I added a watch on a local variable of type string. 
criteria.substring(2);  

When stepping through this variable, it takes several seconds to evaluate then it does evaluate correctly, but then throws an InvalidStackFrameException. I did not receieve the error when creating the watch initially. I seems to occur as you step through and the variable comes into scope. 


com.sun.jdi.InvalidStackFrameException: Thread has been resumed
	at com.sun.tools.jdi.StackFrameImpl.validateStackFrame(StackFrameImpl.java:61)
	at com.sun.tools.jdi.StackFrameImpl.location(StackFrameImpl.java:70)
	at org.netbeans.modules.debugger.jpda.SourcePath.getURL(SourcePath.java:101)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.evaluateIn(JPDADebuggerImpl.java:511)
	at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.evaluateConditionIn(BreakpointImpl.java:303)
	at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.evaluateCondition(BreakpointImpl.java:224)
	at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.perform(BreakpointImpl.java:197)
	at org.netbeans.modules.debugger.jpda.breakpoints.LineBreakpointImpl.exec(LineBreakpointImpl.java:145)
	at org.netbeans.modules.debugger.jpda.util.Operator$1.run(Operator.java:142)
[catch] at java.lang.Thread.run(Thread.java:595)
Comment 1 Roman Ondruska 2005-10-27 13:59:37 UTC
Is this reproducible? Can you provide a test-case? Thanks!
Comment 2 Martin Entlicher 2005-11-03 11:02:03 UTC
This is an insufficient synchronization IMHO. The debugger.LOCK needs to be
acquired as soon as we get the StackFrame instance so that the debugger can not
be resumed before the evaluation starts.
Comment 3 Martin Entlicher 2005-11-03 11:06:02 UTC
Changing summary, the problem is not in watches, but in conditional breakpoints.
Comment 4 Martin Entlicher 2005-11-03 11:19:47 UTC
Hopefully fixed:

/cvs/debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/BreakpointImpl.java,v
 <--  BreakpointImpl.java
new revision: 1.22; previous revision: 1.21
Comment 5 Quality Engineering 2010-04-29 09:26:43 UTC
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.