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 203648 - Frequent freezes during startup
Summary: Frequent freezes during startup
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 7.1
Hardware: PC Linux
: P1 normal (vote)
Assignee: Jan Peska
URL:
Keywords: RANDOM, THREAD
Depends on:
Blocks: 202432
  Show dependency tree
 
Reported: 2011-10-13 12:53 UTC by Jesse Glick
Modified: 2011-10-13 21:05 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
fixed Patch - please review (1.63 KB, patch)
2011-10-13 15:26 UTC, Jan Peska
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2011-10-13 12:53:58 UTC
Today's dev build (running on JDK 6 or 7) frequently freezes during startup:

org.netbeans.core.CLIOptions2$EQStuck: GUI is not responsive
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.openide.util.Task.waitFinished(Task.java:133)
	at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:1681)
	at org.netbeans.core.TimableEventQueue.done(TimableEventQueue.java:174)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:165)
	at java.awt.SentEvent.dispatch(SentEvent.java:55)
	at java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:183)
	at java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:210)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:660)
	at java.awt.Component.dispatchEventImpl(Component.java:4523)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:616)
	at java.awt.EventQueue$2.run(EventQueue.java:614)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162)
	at java.awt.SequencedEvent.dispatch(SequencedEvent.java:101)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:616)
	at java.awt.EventQueue$2.run(EventQueue.java:614)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
[catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Perhaps e581cbb703c0 is to blame.
Comment 1 Jesse Glick 2011-10-13 12:59:04 UTC
In fact if I back out that commit, the IDE starts fine - but just tried it once.
Comment 2 Jan Peska 2011-10-13 14:19:46 UTC
I reverted the patch until I will find a solution for this freeze.
Comment 3 Jan Peska 2011-10-13 15:26:45 UTC
Created attachment 112011 [details]
fixed Patch - please review

Original patch was part of the fix from http://netbeans.org/bugzilla/show_bug.cgi?id=202432

Sometimes happened that TimableEventQueue perform wait cursor check before RunOffEDTImpl.runOffEventDispatchThreadImpl set wait cursor even though time for setting wait cursor was set to 50 ms and time for wait cursor check was set to 100 ms. Slowness report was displayed but did not have to be.

I wanted to fix this with performing another wait cursor check after REPORT time (set in TimableEventQueue.java)

It seems I've resolved this freeze issue (don't know why it does not trigger during my tests) and I would like to ask you if you could review it to avoid further inconveniences.

Thanks
Comment 4 Jesse Glick 2011-10-13 21:05:54 UTC
The freeze was fixed by reverting the bad change, yes? So it is bug #202432 which is now open and to which further comments should be addressed.

As to reviewing an alternate fix, I am afraid I know little about this class so you will need to find someone else if you want advice.