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: | YAGL in BinaryFS.modifications | ||
---|---|---|---|
Product: | platform | Reporter: | Exceptions Reporter <exceptions_reporter> |
Component: | Module System | Assignee: | Jesse Glick <jglick> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | jacorream, jskrivanek, jtulach, saubrecht |
Priority: | P3 | Keywords: | ERGONOMICS, PERFORMANCE |
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | 159397 |
Attachments: | nps snapshot |
Description
Exceptions Reporter
2009-11-11 14:48:54 UTC
Created attachment 90849 [details]
nps snapshot
This issue already has 7 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=159397 can performance team help me with this one pls? org.openide.awt.Actions.connect is waiting for Lookup.lookupAll (i guess because new modules are being activated). but i don't know what i can do with this. This bug already has 10 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=159397 I was not doing anything special. Browsing JAVA files The http://statistics.netbeans.org/exceptions/exception.do?id=304958 shows YAGL on BinaryFS.modifications. At least 2.5s are spend by one thread waiting on another. Actions.connect calls Lookup.getDefault().lookupAll(ButtonActionConnector.class). Folder lookup is doing some disk I/O. In at least two cases, lookup is so busy because features are being turned on, at least judging by the FoD dialog being shown. In another, loading bundles from a ZIP. Nothing to be improved that I can see. (What is "YAGL"?) > (What is "YAGL"?)
yet another global lock
The YAGL needs to be eliminated. Shall I fix the BinaryFS code or can you handle it, Jesse? Or shall Jirka do it, as it is FS related? I think I see what you are suggesting, though I have no idea how to reproduce or confirm the fix: core-main #09ece988d1e5 You could write URL handler that will block when the code calls: new URL(urls.get(index)) and then try whether another lastModified() can finish when queried from another thread. Integrated into 'main-golden', will be available in build *200911241400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/09ece988d1e5 User: Jesse Glick <jglick@netbeans.org> Log: #176597: avoid a global lock when checking modification times. |