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 249304 - many debugger breakpoints can not be set after 8.0.2 update
Summary: many debugger breakpoints can not be set after 8.0.2 update
Status: RESOLVED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Java (show other bugs)
Version: 6.x
Hardware: PC Windows 7 x64
: P3 normal (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-11 21:02 UTC by emiddio
Modified: 2015-09-10 01:28 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
ide log file (1.01 MB, text/plain)
2014-12-23 00:23 UTC, emiddio
Details
ide log file (783.17 KB, application/octet-stream)
2014-12-23 00:23 UTC, emiddio
Details
Sample project tried to reproduce this bug. (14.83 KB, application/zip)
2015-04-09 10:36 UTC, Jiri Kovalsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description emiddio 2014-12-11 21:02:33 UTC
After 8.0.2 update - all worked in 8.0.1 - now cannot set line field breakpoints - debugger says not allowed.

setting non-line field breakpoints (triangle icon) is allowed the breakpoints are never stopped at.

Setting some method breakpoints now are not allowed in some places.

for example :
Not able to submit breakpoint MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.DataFetcherCSI$CSIFELIXException].CSIFELIXException '(Ljava/lang/Exception;)', reason: Method 'CSIFELIXException' with signature '(Ljava/lang/Exception;)' does not exist in class com.attws.it.bsa.felix.subsystem.csii.server.DataFetcherCSI$CSIFELIXException.


but it does exist.
Comment 1 Jiri Kovalsky 2014-12-12 12:32:59 UTC
Gary, would it be possible to show us your project structure? Or ideally share the project sources privately? Or create a sample project reproducing the wrong behaviour? Setting line, field, method, class. exception breakpoints works fine for me in:

Product Version: NetBeans IDE 8.0.2 (Build 201411181905)
Java: 1.8.0_25; Java HotSpot(TM) 64-Bit Server VM 25.25-b02
Runtime: Java(TM) SE Runtime Environment 1.8.0_25-b17
System: Linux version 3.13.0-24-generic running on amd64; UTF-8; en_US (nb)
Comment 2 Martin Entlicher 2014-12-20 19:21:12 UTC
IMHO a sample project is necessary to explore the issue.

We also have a breakpoints-related logger, that can be activated via -J-Dorg.netbeans.modules.debugger.jpda.breakpoints.level=300 option. This will print logging info into messages.log file, thus when you encounter this issue, please provide the log. But it's not always enough to locate the source of the bug, a sample project would be the assurance that it gets fixed.
Comment 3 emiddio 2014-12-22 20:50:52 UTC
i am added the logger info to netbeans startup.

I suggest you try a simple nested class example--

Line breakpoints work as before.

method breakpoints usually work - but when they dont the method is in a nested class.

i still have issues with class/field breakpoints - when a class/field is initialized with an expression setting line breakpoints on the line of the expression no longer works for me.

i will try and get more info for this issue.
Comment 4 emiddio 2014-12-23 00:20:30 UTC
here is another grab from the debugger window:

MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm].readData '(Ljava/lang/Object;)' successfully submitted.
MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm].initiateResults '(Lcom/attws/it/bsa/felix/subsystem/common/Result;)' successfully submitted.
MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm].createEjbObjects '()' successfully submitted.
Not able to submit breakpoint MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm$VOLTECSIResponderAlgorithm].VOLTECSIResponderAlgorithm '()', reason: Method 'VOLTECSIResponderAlgorithm' with signature '()' does not exist in class com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm$VOLTECSIResponderAlgorithm.
Not able to submit breakpoint MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm$VOLTECSIResponderAlgorithm].VOLTECSIResponderAlgorithm '(Lcom/attws/it/bsa/felix/ejb/session/VOLTECAMInfoResHandler;)', reason: Method 'VOLTECSIResponderAlgorithm' with signature '(Lcom/attws/it/bsa/felix/ejb/session/VOLTECAMInfoResHandler;)' does not exist in class com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm$VOLTECSIResponderAlgorithm.
MethodBreakpoint [com.attws.it.bsa.felix.subsystem.csii.server.CSIIResponderAlgorithm$VOLTECSIResponderAlgorithm].cleanupInputObject '(Ljava/lang/Object;)' successfully submitted.
LineBreakpoint CSIIResponder.java : 66 successfully submitted.
Breakpoint hit at line 129 in class com.attws.it.bsa.felix.ejb.session.VOLTECAMInfoResHandlerBean by thread RMICallHandler-26.
Thread RMICallHandler-26 stopped at VOLTECAMInfoResHandlerBean.java:129.

i am attaching the ide.log file.
Comment 5 emiddio 2014-12-23 00:23:27 UTC
Created attachment 151247 [details]
ide log file
Comment 6 emiddio 2014-12-23 00:23:52 UTC
Created attachment 151248 [details]
ide log file
Comment 7 Jiri Kovalsky 2015-04-09 10:36:16 UTC
Created attachment 153112 [details]
Sample project tried to reproduce this bug.

Gary, do you mean that method breakpoints in nested classes work fine for you in development builds or in NetBeans IDE 8.0?

I tried to reproduce this problem and it worked for me except constructor breakpoints on nested classes. But this does not work in dev, 8.0.2, 7.4, 7.0, 6.8.

Steps to reproduce:
===================
1. Open attached project.
2. Set "balance" field breakpoint at line 17.
3. Set Wallet class constructor breakpoint at line 19.
4. Set "withdrawMoney" method breakpoint at line 27.
5. Start debugging by Ctrl+F5 keystroke.

Expected: Debugging session is started and execution is stopped at line 20 by hitting Wallet class constructor breakpoint.
Actual: Debugging session is started and execution is stopped at line 20 by hitting "balance" field breakpoint.
Comment 8 emiddio 2015-04-09 17:15:03 UTC
memory is worked in nb 8.0, maybe 8.01, not 8.02,

not in current netbeans,

Product Version: NetBeans IDE 8.0.2 (Build 201411181905)
Updates: NetBeans IDE is updated to version NetBeans 8.0.2 Patch 1
Java: 1.8.0_40; Java HotSpot(TM) 64-Bit Server VM 25.40-b25
Runtime: Java(TM) SE Runtime Environment 1.8.0_40-b25
System: Windows 7 version 6.1 running on amd64; Cp1252; en_US (nb)
User directory: C:\Users\gbello\AppData\Roaming\NetBeans\8.0.2
Cache directory: C:\Users\gbello\AppData\Local\NetBeans\Cache\8.0.2
Comment 9 emiddio 2015-04-09 17:44:56 UTC
i download your project and run, set method breakpoints on every method except main. Even the NotEnoughMoneyException.

see below paste of debug window log - note - field breakpoint is hit but not when initially set in constructor.

Also note line where cannot set breakpoint - and method breakpoint does not trigger.

I also added static int fields - one is left uninitialized and set in contructor, other is initialized where declared - both get field breakpoints, and one initialized in line also gets a line breakpoint.

All of those breakpoints work for me - just not the instance field from the constructor like you report.


User program running
MethodBreakpoint [org.netbeans.test.Bug_249304$Wallet].insertMoney '(I)' successfully submitted.
MethodBreakpoint [org.netbeans.test.Bug_249304$Wallet].getBalance '()' successfully submitted.
MethodBreakpoint [org.netbeans.test.Bug_249304$Wallet].withdrawMoney '(I)' successfully submitted.
Not able to submit breakpoint MethodBreakpoint [org.netbeans.test.Bug_249304$Wallet].Wallet '(I)', reason: Method 'Wallet' with signature '(I)' does not exist in class org.netbeans.test.Bug_249304$Wallet.
FieldBreakpoint org.netbeans.test.Bug_249304$Wallet.balance successfully submitted.
Field breakpoint hit at line 20 in class org.netbeans.test.Bug_249304$Wallet by thread main.
Thread main stopped at Bug_249304.java:20.
User program running
Method breakpoint hit in org.netbeans.test.Bug_249304$Wallet.withdrawMoney at line 28 by thread main.
Thread main stopped at Bug_249304.java:28.
User program running
Field breakpoint hit at line 28 in class org.netbeans.test.Bug_249304$Wallet by thread main.
Thread main stopped at Bug_249304.java:28.
User program running
Not able to submit breakpoint MethodBreakpoint [org.netbeans.test.Bug_249304$NotEnoughMoneyException].NotEnoughMoneyException '()', reason: Method 'NotEnoughMoneyException' with signature '()' does not exist in class org.netbeans.test.Bug_249304$NotEnoughMoneyException.
User program finished
Comment 10 Jiri Kovalsky 2015-04-10 09:07:13 UTC
Great, so I get the same results as you in:

Product Version: NetBeans IDE Dev (Build 201504070001)
Java: 1.8.0_40; Java HotSpot(TM) 64-Bit Server VM 25.40-b25
Runtime: Java(TM) SE Runtime Environment 1.8.0_40-b25
System: Linux version 3.13.0-24-generic running on amd64; UTF-8; en_US (nb)

Field breakpoints work, method breakpoints work, class breakpoints work, exception breakpoints work. The only thing which does not work are constructor method breakpoints of nested classes. And this does not work since NetBeans IDE 6.8 (4+ years) which I have just tested. Due to this fact I lower priority.
Comment 11 Martin Entlicher 2015-09-04 15:47:40 UTC
There's a problem with constructor method breakpoints of nested classes. For non-static classes the signature of constructor methods differs between the source code and bytecode. In the bytecode, the constructor takes an instance of the outer class.
Comment 12 Martin Entlicher 2015-09-08 07:57:50 UTC
There's a problem with constructor method breakpoints of nested classes. For non-static classes the signature of constructor methods differs between the source code and bytecode. In the bytecode, the constructor takes an instance of the outer class.
Comment 13 Martin Entlicher 2015-09-08 08:00:18 UTC
Constructor breakpoints are fixed after changeset:   291722:927ed9614aba
http://hg.netbeans.org/core-main/rev/927ed9614aba
Comment 14 Jiri Kovalsky 2015-09-08 09:24:41 UTC
Gary, could you please verify this bug in the next development build? Thanks!
Comment 15 Quality Engineering 2015-09-10 01:28:46 UTC
Integrated into 'main-silver', will be available in build *201509100002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/927ed9614aba
User: mentlicher@netbeans.org
Log: #249304: Adjust the signature of constructor breakpoints in nested classes.