Build: NetBeans IDE 6.8 Beta (Build 200910212001)
VM: OpenJDK 64-Bit Server VM, 14.0-b16, OpenJDK Runtime Environment, 1.6.0_0-b16
OS: Linux, 184.108.40.206-96.fc11.x86_64, amd64
ravindranathakila: Building a project. Maven build says "Additional maven build processing". There is nothing running in the background of this pc and is very fast.
GUEST: just updating
esmithbss: Activating JavaSE and RubyOnRails Capabilities
Maximum slowness yet reported was 6953 ms, average is 3906
Created attachment 90849 [details]
This issue already has 7 duplicates
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
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:
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)
User: Jesse Glick <firstname.lastname@example.org>
Log: #176597: avoid a global lock when checking modification times.