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 200582 - Endless loop blocking EQ
Summary: Endless loop blocking EQ
Status: RESOLVED WORKSFORME
Alias: None
Product: projects
Classification: Unclassified
Component: Generic Projects UI (show other bugs)
Version: 7.1
Hardware: PC Linux
: P3 normal (vote)
Assignee: Jesse Glick
URL:
Keywords: RANDOM
Depends on:
Blocks:
 
Reported: 2011-08-01 16:55 UTC by Jesse Glick
Modified: 2011-08-01 17:19 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Last thread dump, for reference (17.38 KB, text/plain)
2011-08-01 17:19 UTC, Jesse Glick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2011-08-01 16:55:12 UTC
In 20110727-39ac77804945 on JDK 7 (Ubuntu) I had just opened a Maven project and was navigating through its logical view in Projects when suddenly the IDE froze at 100% CPU. EQ was constantly calling either EventDispatchThread.removeEventFilter, or addEventFilter, or pumpEventsForFilter. The only other thing odd-looking in the thread dumps was:

"Spellchecker" daemon prio=10 tid=0x0a7c0c00 nid=0x486b in Object.wait() [0x66dfd000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:503)
	at java.awt.EventQueue.invokeAndWait(EventQueue.java:1236)
	- locked <0x8380a8f8> (a java.awt.EventQueue$1AWTInvocationLock)
	at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1346)
	at org.netbeans.modules.spellchecker.ComponentPeer$2.run(ComponentPeer.java:164)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)

especially since no editor window was open.
Comment 1 Jan Lahoda 2011-08-01 17:04:32 UTC
Sorry, but I do not see how this relates to the spellchecker. The task most likely cannot finish, because something else is flooding the AWT. The task uses invokeAndWait to ensure that the checker (that actually checks for spelling errors) is not run until the current view span is determined, but that should not cause any problems (the background thread is not holding any locks at this point). There had to be some spellchecker-enabled component open at some point, otherwise the peer would not run at all. Given that this happened while in projects tab, I suggest the investigation is started there.
Comment 2 Jesse Glick 2011-08-01 17:18:24 UTC
(In reply to comment #1)
> The task most
> likely cannot finish, because something else is flooding the AWT.

Perhaps; not clear what that would be - nothing else looks to be active in the thread dumps.

I did file an AWT bug that most of the work in EQ was in logging rather than actually dispatching, but this does not look like the cause.
Comment 3 Jesse Glick 2011-08-01 17:19:14 UTC
Created attachment 109734 [details]
Last thread dump, for reference