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.

Bug 177420 - 4s - Run initialization of HeapView.paintDropShadowText() outside of AWT
Summary: 4s - Run initialization of HeapView.paintDropShadowText() outside of AWT
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Options&Settings (show other bugs)
Version: 6.x
Hardware: All All
: P3 normal with 1 vote (vote)
Assignee: Theofanis Oikonomou
URL:
Keywords: PERFORMANCE
: 197353 222591 223637 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-23 05:51 UTC by misterm
Modified: 2013-06-17 15:30 UTC (History)
21 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 159009


Attachments
nps snapshot (256.00 KB, application/nps)
2009-11-23 05:51 UTC, misterm
Details

Note You need to log in before you can comment on or make changes to this bug.
Description misterm 2009-11-23 05:51:02 UTC
Build: NetBeans IDE Dev (Build 091120-8eec60083578)
VM: Java HotSpot(TM) Client VM, 10.0-b19, Java(TM) SE Runtime Environment, 1.6.0_04-b12
OS: Windows XP, 5.1, x86

User Comments:
dheffelfinger: open "freshly downloaded" nightly build.

8 fairly big maven projects were automatically opened since they were opened when I closed Netbeans last.

A big maven build was running in the background when I opened NB.

GUEST: starting the IDE

GUEST: starting the IDE

GUEST: Just starting up net beans, unzipping something with winrar, running several other applications.

GUEST: starting up, one php (symfony) project open : 
jobeet - day 4, jeobeet library within project  in libs/vendo,r


Maximum slowness yet reported was 15738 ms, average is 5655
Comment 1 misterm 2009-11-23 05:51:07 UTC
Created attachment 91527 [details]
nps snapshot
Comment 2 Jaroslav Tulach 2011-11-04 06:06:10 UTC
973ms paint of org.openide.actions.HeapView.paintComponent() - e.g. not production problem, as that one is by default hidden.
Comment 3 Jaroslav Tulach 2012-11-07 15:32:55 UTC
*** Bug 197353 has been marked as a duplicate of this bug. ***
Comment 4 Jaroslav Tulach 2012-11-29 15:04:01 UTC
*** Bug 222591 has been marked as a duplicate of this bug. ***
Comment 5 Jaroslav Tulach 2013-01-23 17:35:15 UTC
*** Bug 223637 has been marked as a duplicate of this bug. ***
Comment 6 Jaroslav Tulach 2013-01-23 18:16:26 UTC
ergonomics#d353473e8850
Comment 7 Alexander Simon 2013-01-24 15:45:30 UTC
I got report 652055 with fix d353473e8850.
Comment 8 Quality Engineering 2013-01-25 03:02:18 UTC
Integrated into 'main-golden', will be available in build *201301250001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/d353473e8850
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #177420: Initializing the drop shadow text outside of EDT
Comment 9 Jaroslav Tulach 2013-01-26 06:04:23 UTC
Alexander's report 
http://statistics.netbeans.org/exceptions/exception.do?id=652055
is different than previous ones. The painting is blocked in

org.openide.actions.HeapView.paintComponent()	229,169 ms
org.openide.actions.HeapView.getTickStyle()
org.openide.actions.HeapView.prefs()
org.openide.util.NbPreferences.forModule()
org.nb.core.startup.preferences.PreferencesProviderImpl.preferencesForModule()
java.util.prefs.AbstractPreferences.node()

It turns out that there is background thread Refresh-After-WindowActivated	which holds the lock (the EDT is waiting for) and performs an I/O operation:

org.netbeans.core.startup.preferences.NbPreferences$UserPreferences.childSpi()
org.netbeans.core.startup.preferences.PropertiesStorage.toPropertiesFile()	

If the Alexander's situation is common, the appropriate fix would have to move the I/O outside of the lock.
Comment 10 Theofanis Oikonomou 2013-06-17 15:30:53 UTC
(In reply to comment #9)
> If the Alexander's situation is common, the appropriate fix would have to move
> the I/O outside of the lock.

AFAICT there were 2 more reports in the past 6 months, so I guess it is not a common situation, so closing this one. Thank you.