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.
Summary: | 30s - too much time in WeakSet.equals | ||
---|---|---|---|
Product: | platform | Reporter: | Peter Nabbefeld <epdv> |
Component: | Filesystems | Assignee: | Jaroslav Tulach <jtulach> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | alexvsimon, anebuzelsky, daniel_j_larsson, emiddio, gorrus, jis, jmichelberger, jskrivanek, misterm, pjiricka, tveimo |
Priority: | P2 | Keywords: | PERFORMANCE |
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
URL: | http://statistics.netbeans.org/exceptions/detail.do?id=158156 | ||
Issue Type: | DEFECT | Exception Reporter: | 158156 |
Attachments: |
nps snapshot
nps snapshot nps snapshot Threaddump from VisualVM |
Description
Peter Nabbefeld
2009-10-08 09:58:27 UTC
Created attachment 89078 [details]
nps snapshot
This issue already has 7 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=158156 Build: NetBeans IDE Dev (Build 200910061401) VM: Java HotSpot(TM) Client VM, 10.0-b19, Java(TM) SE Runtime Environment, 1.6.0_05-b13 OS: Windows XP, 5.1, x86 User Comments: Maximum slowness yet reported was 69656 ms, average is 20887 Created attachment 89080 [details]
nps snapshot
This issue already has 8 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=158156 I wonder how can 61 second be spent in org.openide.util.WeakSet$Entry.equals(). Can someone experienced help me? There is a lock in collectForRefresh for which AWT thread is waiting. But just adding to WeakSet should not take so much time IMO. org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.collectForRefresh() org.openide.util.WeakSet.add() org.openide.util.WeakSet.object2Entry() org.openide.util.WeakSet$Entry.equals() 61282060 723 One Problem might be, that I've got a project with sources on a mapped device (Windows!). These sources are mainly for reference only and rarely change. I'm not allowed to copy them for some reasons I'll not discuss here. So, at least in my case, it would be perfect to scan these sources only on demand. It would be helpful, if I could flag single source paths as not to be scanned automatically, and having an ant task to force scanning (this would help to automate scanning under certain conditions, e.g. to create an "Activate" task, which would automatically do rescanning after propagating project artifacts when project is finished). Looking at http://statistics.netbeans.org/exceptions/exception.do?id=277805 I can see YAGL in FileObjectFactory. Background thread doing refresh for 27s blocks AWT which only wants to consult the cache in getCachedOnly Yes, that I said in #desc7. But I don't know why time is spent in org.openide.util.WeakSet$Entry.equals(). Created attachment 92469 [details]
nps snapshot
adding a maven dependency via the UI
Product Version: NetBeans IDE 6.8 (Build 200912041610) Java: 1.6.0_18; Java HotSpot(TM) Client VM 16.0-b13 System: Windows Vista version 6.0 running on x86; Cp1252; en_US (nb) I've just experienced a blocked EDT for more than 1 minute (reported as http://statistics.netbeans.org/analytics/exception.do?id=337128). Raising to P2. Steps: 1/ In Favorites view I've invoked a Find for all "*.png" files in local NetBeans hg repository 2/ I've continued my normal work in the IDE, progress showed "Preparing data for searching..." 3/ I've tried to switch to another editor window by clicking the TopComponent caption, IDE became unresponsive Created attachment 94069 [details]
Threaddump from VisualVM
Probably fixed in core-main#042b1adfe883 - the WeakSet's initial size is now much bigger and thus (according to comment in bug 170556), the number of equals operations shall significantly drop. Saw this again in today's build: http://statistics.netbeans.org/analytics/exception.do?id=368427 |