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 175867

Summary: [68cat] Debugger unusable
Product: debugger Reporter: ulfzibis <ulfzibis>
Component: CodeAssignee: Martin Entlicher <mentlicher>
Status: RESOLVED FIXED    
Severity: blocker CC: ulfzibis
Priority: P1 Keywords: REGRESSION
Version: 6.x   
Hardware: PC   
OS: Windows XP   
Issue Type: DEFECT Exception Reporter:
Bug Depends on:    
Bug Blocks: 176284    
Attachments: Screenshot
platform settings
debugger settings

Description ulfzibis 2009-11-01 04:23:59 UTC
[ BUILD # : 200910230201 ]
[ JDK VERSION : 1.6.* ]

Refer to attachments.

- Set LineBreakpoint to EUC_TWBenchmark line 230.
- Step over
--> debugger stops at next breakpoint instead of next line

- Set additional LineBreakpoint to EUC_TWBenchmark line 232.
- Step in, in, over, over, over, in
--> debugger stops in CharBuffer.java at line 935, where is no breakpoint
Comment 1 ulfzibis 2009-11-01 04:26:06 UTC
Created attachment 90372 [details]
Screenshot
Comment 2 ulfzibis 2009-11-01 04:30:56 UTC
Created attachment 90373 [details]
platform settings
Comment 3 ulfzibis 2009-11-01 04:31:30 UTC
Created attachment 90374 [details]
debugger settings
Comment 4 ulfzibis 2009-11-01 04:45:16 UTC
Checkout project from:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/?rev=814

REGRESSION, works fine in 6.7.1, if workaround from Issue 165742, Sep 29 17:45:01 +0000 2009 is set.
Comment 5 Martin Entlicher 2009-11-02 09:53:07 UTC
This and issue #175827 seems to be connected - I'm going to reproduce this...
Comment 6 ulfzibis 2009-11-02 10:07:20 UTC
Yes, issue 175827 is sub-problem of this issue.
Maybe this issue is also connected to Issue 175605.
Comment 7 Martin Entlicher 2009-11-03 14:34:09 UTC
Reproduced, it's caused by stepping filters (Tools -> Options -> Miscellaneous -> Java Debugger -> Step Filters)
sun.* is filtered by default.

But a problem there is, that the debugger session does not listen on changes in the filtered classes, therefore it's
necessary to restart the debugger session to take effect.
Comment 8 Martin Entlicher 2009-11-03 16:04:10 UTC
- Set additional LineBreakpoint to EUC_TWBenchmark line 232.
- Step in, in, over, over, over, in
--> debugger stops in CharBuffer.java at line 935, where is no breakpoint

Are you trying to step into "encodeLoop" method? (CharsetEncoder.java:561) If yes, this method does not have source
available, therefore we're trying to step into further until we get into something which have the source associated.
It may happen that such "hidden" code calls CharBuffer.hasArray() and since we have a source for that debugger stops at
CharBuffer.java:935. I haven't reproduce this, but if it happens to you, look at the call stack. That should explain
such behavior.

Comment 9 Martin Entlicher 2009-11-04 10:52:38 UTC
Fixed in changeset:   152048:ac18193fb236
http://hg.netbeans.org/main/rev/ac18193fb236
Comment 10 Quality Engineering 2009-11-05 10:18:18 UTC
Integrated into 'main-golden', will be available in build *200911050201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/ac18193fb236
User: mentlicher@netbeans.org
Log: #175867 - Reset the stepping filters when step filters change in options. Also make "sun.*" and "sunw.*" unselected by default.
Comment 11 ulfzibis 2009-11-09 12:33:06 UTC
> Are you trying to step into "encodeLoop" method? (CharsetEncoder.java:561)

Yes, you are right.

>  If yes, this method does not have source available,

encodeLoop() _has_ source available in sun.nio.cs.ext.EUC_TW, but is not found because of Issue 175605.
Comment 12 ulfzibis 2009-11-09 12:39:17 UTC
> Reproduced, it's caused by stepping filters (Tools -> Options -> Miscellaneous -> Java Debugger -> Step Filters)
> sun.* is filtered by default.

Thanks for the hint. Yes, it works after disabling those filters.
IMO those settings should be by project, as not all projects need same 
settings, at least they should be overwritable in project.properties.