Build: NetBeans IDE Dev (Build nbms-and-javadoc-3942-on-090917)
VM: Java HotSpot(TM) Client VM, 14.2-b01, Java(TM) SE Runtime Environment, 1.6.0_16-b01
OS: Windows XP, 5.2, x86
Maximum slowness yet reported was 96265 ms, average is 96265
Created attachment 87887 [details]
Time in AWT is spent during saving Maven configuration. Please evaluate.
Created attachment 93110 [details]
changed project configuration
Reassigning to default owner.
The method ActiveConfigAction.setActiveConfiguration() needs to acquire the mutex on projects to be able to proceed.
In the report from 2009-09-17 the AWT thread is waiting on a mutex for maven's DependencyNode spending time in separate thread in MavenFileOwnerQueryImpl's expensive cache preparation. Similar dependency of the AWT thread on finishing MavenFileOwnerQueryImpl's expensive cache preparation is in the reports from 2010-03-18 and 2010-04-06 where it is triggered in one of the parsing and indexing threads. These three occurrences of the problem should be eliminated in 6.10 by the fix of issue 186024.
In the report from 2010-01-07 the AWT thread is waiting on a mutex for Load Open Projects thread to finish loading projects. The report from 2010-05-21 shows that system is completely overloaded by the many builds running at the same time. Refresh of recent project list which acquired the project mutex is hanging for >15s in a java.io.WinNTFileSystem call.
These last two cases could be eliminated only by scheduling the code in ActiveConfigAction.setActiveConfiguration() (or in actionPerformed methods in ActiveConfigAction) out of AWT thread into a separate thread where waiting for the project mutex would do no harm to UI responsiveness.
Jesse, is this last suggestion possible?
(In reply to comment #5)
> scheduling the code in
> ActiveConfigAction.setActiveConfiguration() (or in actionPerformed methods in
> ActiveConfigAction) out of AWT thread into a separate thread
Probably would be OK. See also asynch refresh: bug #175348
Integrated into 'main-golden', will be available in build *201009250000* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Antonin Nebuzelsky <email@example.com>
Log: #172525 - AWT thread blocked for a long time when switching project configuration.