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 187407 - [69cat] Debugger very slow, depending on breakpoint position
Summary: [69cat] Debugger very slow, depending on breakpoint position
Status: RESOLVED WONTFIX
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P3 normal (vote)
Assignee: Martin Entlicher
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2010-06-10 00:24 UTC by ulfzibis
Modified: 2010-11-10 15:51 UTC (History)
1 user (show)

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 ulfzibis 2010-06-10 00:24:59 UTC
[ BUILD # : RC 2 ]
[ JDK VERSION : 1.6.18 ]

Project:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-en
hanced/branches/JDK-7/j_l_Character_names/?rev=1094
File:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-en
hanced/branches/JDK-7/j_l_Character_names/make/tools/src/build/tools/generatecha
racter/UnicodeSpec.java?rev=1094&view=markup
- set breakpoint to line 337
- run project (configuration=parse_UnicodeSpec)
- step over to line 340
--> debugger needs > 5 minutes

335    public static List<UnicodeSpec> readSpecFile(String filePathName, int
plane) throws IOException {
336        List<UnicodeSpec> list = parsed.get(filePathName);
337        if (list == null)
338               parsed.put(filePathName, list = parseSpecFile(filePathName));
339        int planeStart, planeEnd;
340        for (planeStart=0; planeStart<list.size(); planeStart++)
341            ...

- set breakpoint to line 340
- run project (configuration=parse_UnicodeSpec)
--> debugger needs ~ 5 seconds
Comment 1 Martin Entlicher 2010-06-11 14:47:13 UTC
Reproduced. The time is spent in debuggee VM, not in debugger VM. It's really strange, it looks like there's some activity being done by the debugger backend.
Comment 2 Martin Entlicher 2010-06-12 09:07:49 UTC
This can not be fixed in NetBeans. IMHO there must be something inefficient in the debugger backend.

I've got the same behavior using JDB => this is not a NetBeans bug.

Steps:
In one terminal run:
$ cd JDK-7/j_l_Character_names
$ /opt/java/jdk1.7.0-b84/fastdebug/bin/java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=localhost:41614 -Dfile.encoding=UTF-8 -classpath build/classes build.tools.generatecharacter.UnicodeSpec make/tools/UnicodeData/UnicodeData.txt

In a second terminal run:
$ jdb -attach 41614
stop at build.tools.generatecharacter.UnicodeSpec:337
resume
 (breakpoint is hit)
next
next
 (it takes a long time to complete)

I will submit a bug for JDK debugger backend...
Comment 3 ulfzibis 2010-06-12 14:49:39 UTC
Martin, much thanks for your effort and for filing a bug against JDK.
Please file the bug ID here when available.
Comment 4 Martin Entlicher 2010-06-14 12:29:32 UTC
The bug should be visible at http://bugs.sun.com/view_bug.do?bug_id=6960970 after it's made public.
Comment 5 ulfzibis 2010-06-16 18:20:17 UTC
reopened as not sure if new case has same reason:

File:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/JDK-7/j_l_Character_names/src_sherman2/build/tools/generatecharacter/CharacterNamesGenerator7.java?rev=1099&view=markup
- set breakpoint to line 379 with condition "len == 92"
- enable CoS
- run project (configuration=gen_sherman2_7)
--> debugger needs > 60 minutes
Comment 6 ulfzibis 2010-06-22 13:43:55 UTC
The JDK bug is still not public.
Can you force this?
Comment 7 Martin Entlicher 2010-11-10 15:51:53 UTC
Ulf, I do not think that the second problem is a bug. The breakpoint is simply hit really many times. On every hit we have to evaluate the condition and resume the execution again. This takes some time a slows down the execution. It does not look like there's a particular performance problem in the second case.