This bug was originally marked as duplicate of bug 176835, that is already resolved. This bug is still valid, so this seems to be another bug, but it might be related.
Build: NetBeans IDE Dev (Build 201203230400)
VM: Java HotSpot(TM) Client VM, 21.0-b17, Java(TM) SE Runtime Environment, 1.7.0-b147
genomega: Adding ICEfaces to Framework ..
Maximum slowness yet reported was 7126 ms, average is 7126
Created attachment 117608 [details]
According to user's comment looks like JSF related for now.
Reassigning to web.project after deeper evaluation...
My opinion is that at least time-consuming content of WebProjectProperties#save() method should be called in its (RP) thread - not sent into AWT EDT. Actually code which makes troubles in this issue was added by me, but according to already existing usage for project's extending.
In other words, both solution WebProjectProperties:530-558 doesn't look 100% correct to me since it freezes UI by project customizer saving and also can cause these LowPerformance troubles (in extender's saving as well as extending). BTW, the real impact of this issue is quite low since the progress dialog appeared (although frozen).
David what is your opinion? In any case feel free to reassign it back to me if you think that should be fixed on my side or by me. Thanks.
Saving Project Properties runs intentionally outside of AWT thread. Posting installation of frameworks and/or jsf suites back to AWT thread is wrong and goes against what we are trying to achieve here. I'm going to fix this by removal of "SwingUtilities.invokeLater". It was introduced as fix of issue 120108 but it does not sounds right - I wonder what was real cause of the deadlock and whether it was fixable some other way. Unfortunately GWT4NB is not available for 7.2Dev so I cannot retest. But if the deadlock is limited only to GWT4NB then it must be doing something incorrect.
What are your thoughts on this fix Martin?
Definitely agree with all of your words. According to Project UI APIs work flow runs these jobs outside AWT EDT looks to me like the only correct way for now.
Integrated into 'main-golden', will be available in build *201204050400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: David Konecny <email@example.com>
Log: #210492 - LowPerformance took 7126 ms