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 175520 - [68cat] Editor hangs with 100% CPU
Summary: [68cat] Editor hangs with 100% CPU
Status: REOPENED
Alias: None
Product: platform
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P3 blocker with 1 vote (vote)
Assignee: Antonin Nebuzelsky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-27 15:02 UTC by goeh
Modified: 2015-09-30 16:16 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Self-sample taken during the printStackTrace() in a loop code sample from the previous comment. (419.07 KB, application/octet-stream)
2015-09-22 15:16 UTC, Martin Entlicher
Details
Self-sample taken during the printStackTrace() in a loop code sample when exception dialog is not opened. (285.16 KB, application/octet-stream)
2015-09-30 14:41 UTC, Martin Entlicher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description goeh 2009-10-27 15:02:14 UTC
[ BUILD # : 6.8beta ]
[ JDK VERSION : 1.6.* ]

1. Started NB 6.8 beta
2. Installed SVN (default) client
3. Opened a Grails 1.2-M3 project
4. Subversion -> Show Changes
5. Edited some files.
6. Uncommented a line in conf/spring/resources.groovy
7. Went away to get some coffee :)
8. Came back and editor was locked and CPU at 100%
9. Started visualvm and created thread dump, see below.

2009-10-27 14:18:56
Full thread dump Java HotSpot(TM) Client VM (14.2-b01 mixed mode):

"Inactive RequestProcessor thread [Was:TimedSoftReference/org.openide.util.TimedSoftReference]" daemon prio=2
tid=0x05ed2400 nid=0x2068 in Object.wait() [0x0721f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1037)
	- locked <0x11c97bf0> (a java.lang.Object)

   Locked ownable synchronizers:
	- None

"FileUtil-Refresh-All" daemon prio=2 tid=0x06170400 nid=0x1ce0 runnable [0x0701f000]
   java.lang.Thread.State: RUNNABLE
	at org.netbeans.modules.masterfs.filebasedfs.children.ChildrenSupport.rescanChild(ChildrenSupport.java:178)
	at org.netbeans.modules.masterfs.filebasedfs.children.ChildrenSupport.refresh(ChildrenSupport.java:149)
	- locked <0x13b3aa10> (a org.netbeans.modules.masterfs.filebasedfs.children.ChildrenSupport)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FolderObj$FolderChildrenCache.refresh(FolderObj.java:542)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FolderObj.refreshImpl(FolderObj.java:343)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.BaseFileObj.refresh(BaseFileObj.java:659)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FolderObj.refresh(FolderObj.java:422)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.refresh(FileObjectFactory.java:470)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.refreshAll(FileObjectFactory.java:426)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory$1.run(FileObjectFactory.java:640)
	at org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.runAsInconsistent(FileBasedFileSystem.java:102)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory$2.run(FileObjectFactory.java:648)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:122)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:539)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.refresh(FileObjectFactory.java:646)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.RootObj.invokeRefreshFor(RootObj.java:178)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.RootObj.setAttribute(RootObj.java:130)
	at org.openide.filesystems.FileUtil.refreshFor(FileUtil.java:154)
	at org.openide.filesystems.FileUtil$1.run(FileUtil.java:177)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)

   Locked ownable synchronizers:
	- None

"Refresh-After-WindowActivated" daemon prio=2 tid=0x05dec800 nid=0x2334 in Object.wait() [0x068ff000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.openide.util.Task.waitFinished(Task.java:130)
	- locked <0x11c8a210> (a org.openide.util.RequestProcessor$Task)
	at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:805)
	at org.openide.filesystems.FileUtil.refreshAll(FileUtil.java:195)
	at org.netbeans.core.ui.warmup.MenuWarmUpTask$NbWindowsAdapter.run(MenuWarmUpTask.java:160)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)

   Locked ownable synchronizers:
	- None

"Inactive RequestProcessor thread [Was:System clipboard synchronizer/org.netbeans.core.NbClipboard]" daemon prio=2
tid=0x05ef4400 nid=0x924 in Object.wait() [0x07c1f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1037)
	- locked <0x27955600> (a java.lang.Object)

   Locked ownable synchronizers:
	- None

"Flush UI Logs" daemon prio=2 tid=0x05d62c00 nid=0x1c40 runnable [0x0b3cf000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.Throwable.fillInStackTrace(Native Method)
	- locked <0x11c9b570> (a org.openide.util.RequestProcessor$SlowItem)
	at org.openide.util.RequestProcessor$SlowItem.fillInStackTrace(RequestProcessor.java:917)
	at java.lang.Throwable.<init>(Throwable.java:181)
	at java.lang.Exception.<init>(Exception.java:29)
	at org.openide.util.RequestProcessor$Item.<init>(RequestProcessor.java:861)
	at org.openide.util.RequestProcessor$SlowItem.<init>(RequestProcessor.java:912)
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:655)
	- locked <0x1286b838> (a java.lang.Object)
	at org.netbeans.core.startup.preferences.NbPreferences.asyncInvocationOfFlushSpi(NbPreferences.java:160)
	at org.netbeans.core.startup.preferences.NbPreferences.putSpi(NbPreferences.java:125)
	at java.util.prefs.AbstractPreferences.put(AbstractPreferences.java:234)
	- locked <0x128f3a80> (a java.lang.Object)
	at org.netbeans.core.startup.preferences.NbPreferences.put(NbPreferences.java:133)
	at java.util.prefs.AbstractPreferences.putInt(AbstractPreferences.java:341)
	at org.netbeans.modules.uihandler.Installer.writeOut(Installer.java:463)
	at org.netbeans.modules.uihandler.UIHandler$1WriteOut.run(UIHandler.java:121)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)

   Locked ownable synchronizers:
	- None

"URLdisplayer" prio=6 tid=0x05d40400 nid=0x1e6c in Object.wait() [0x0b72f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x13db7158> (a org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer)
	at java.lang.Object.wait(Object.java:485)
	at org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer.getNextTask(NbDdeBrowserImpl.java:273)
	- locked <0x13db7158> (a org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer)
	at org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer.run(NbDdeBrowserImpl.java:285)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Project UI" daemon prio=2 tid=0x05588400 nid=0x2114 runnable [0x0a3cf000]
   java.lang.Thread.State: RUNNABLE
	at java.io.WinNTFileSystem.getBooleanAttributes(Native Method)
	at java.io.File.exists(File.java:733)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.getFileObject(FileObjectFactory.java:187)
	at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FolderObj.getChildren(FolderObj.java:138)
	at org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode.setGroups(ProjectsRootNode.java:591)
	at org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode.setProjectFiles(ProjectsRootNode.java:570)
	at org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode.setProjectFiles(ProjectsRootNode.java:489)
	at org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode$3.run(ProjectsRootNode.java:786)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)

   Locked ownable synchronizers:
	- None

"Parsing & Indexing Loop (200910212001)" daemon prio=2 tid=0x0530d400 nid=0x24f8 waiting for monitor entry [0x07e1f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.awt.EventQueue.postEventPrivate(EventQueue.java:189)
	- locked <0x12925040> (a org.netbeans.core.TimableEventQueue)
	at java.awt.EventQueue.postEvent(EventQueue.java:175)
	at java.awt.EventQueue.invokeLater(EventQueue.java:954)
	at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1264)
	at org.netbeans.core.NotifyExcPanel.notify(NotifyExcPanel.java:289)
	at org.netbeans.core.NbErrorManager.publish(NbErrorManager.java:86)
	at org.netbeans.core.startup.TopLogging$LookupDel.publish(TopLogging.java:883)
	at java.util.logging.Logger.log(Logger.java:458)
	at java.util.logging.Logger.doLog(Logger.java:480)
	at java.util.logging.Logger.log(Logger.java:569)
	at org.openide.util.Exceptions.printStackTrace(Exceptions.java:176)
	at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:726)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- <0x130409f0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"Swing-Shell" daemon prio=6 tid=0x03f69400 nid=0x2074 waiting on condition [0x0741f000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x12eddbc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:458)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"AWT-EventQueue-1" prio=6 tid=0x02ee7800 nid=0x2668 waiting for monitor entry [0x06e1f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.lang.Throwable.getStackTraceElement(Native Method)
	at java.lang.Throwable.getOurStackTrace(Throwable.java:591)
	- locked <0x11c9b120> (a org.openide.util.RequestProcessor$SlowItem)
	at java.lang.Throwable.getStackTrace(Throwable.java:582)
	at org.openide.util.RequestProcessor$SlowItem.fillInStackTrace(RequestProcessor.java:918)
	at java.lang.Throwable.<init>(Throwable.java:181)
	at java.lang.Exception.<init>(Exception.java:29)
	at org.openide.util.RequestProcessor$Item.<init>(RequestProcessor.java:861)
	at org.openide.util.RequestProcessor$SlowItem.<init>(RequestProcessor.java:912)
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:655)
	- locked <0x12a1b930> (a java.lang.Object)
	at org.netbeans.core.NbClipboard.eventDispatched(NbClipboard.java:360)
	at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2353)
	at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2245)
	at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
	at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2203)
	at java.awt.Component.dispatchEventImpl(Component.java:4528)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:409)
	at java.awt.Component.dispatchEventImpl(Component.java:4502)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:117)
	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:286)
	at java.awt.Component.dispatchEventImpl(Component.java:4502)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:117)
	at java.awt.SequencedEvent.dispatch(SequencedEvent.java:101)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:117)
	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)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

   Locked ownable synchronizers:
	- None

"TimerQueue" daemon prio=6 tid=0x052c0400 nid=0x1d40 in Object.wait() [0x058af000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at javax.swing.TimerQueue.postExpiredTimers(TimerQueue.java:218)
	- locked <0x12925118> (a javax.swing.TimerQueue)
	at javax.swing.TimerQueue.run(TimerQueue.java:234)
	- locked <0x12925118> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Thread-4" daemon prio=6 tid=0x02edf800 nid=0x13c4 in Object.wait() [0x06c1f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x128687b8> (a java.util.LinkedList)
	at java.lang.Object.wait(Object.java:485)
	at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1461)
	- locked <0x128687b8> (a java.util.LinkedList)

   Locked ownable synchronizers:
	- None

"*** JFluid Separate Command Execution Thread" daemon prio=6 tid=0x02ee2400 nid=0x3cc in Object.wait() [0x066ff000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x128e1658> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:485)
	at org.netbeans.lib.profiler.ProfilerClient$SeparateCmdExecutionThread.run(ProfilerClient.java:102)
	- locked <0x128e1658> (a java.lang.Object)

   Locked ownable synchronizers:
	- None

"AWT-Windows" daemon prio=6 tid=0x040ba800 nid=0x226c runnable [0x0524f000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.windows.WToolkit.eventLoop(Native Method)
	at sun.awt.windows.WToolkit.run(WToolkit.java:291)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"AWT-Shutdown" prio=6 tid=0x040bbc00 nid=0x21b4 in Object.wait() [0x0504f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
	- locked <0x1200ef20> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Java2D Disposer" daemon prio=10 tid=0x040a8c00 nid=0x840 in Object.wait() [0x04e4f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x1200efb0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at sun.java2d.Disposer.run(Disposer.java:125)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"CLI Requests Server" daemon prio=6 tid=0x04018800 nid=0x404 runnable [0x0477f000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
	- locked <0x11fc9a30> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1005)

   Locked ownable synchronizers:
	- None

"Active Reference Queue Daemon" daemon prio=2 tid=0x03f9f400 nid=0x1844 in Object.wait() [0x044ef000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x11fc9bb8> (a java.lang.ref.ReferenceQueue$Lock)
	at org.netbeans.modules.openide.util.ActiveQueue.run(ActiveQueue.java:53)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Timer-0" daemon prio=6 tid=0x03f07400 nid=0x2268 runnable [0x042ef000]
   java.lang.Thread.State: RUNNABLE
	at java.util.LinkedList.addBefore(LinkedList.java:778)
	at java.util.LinkedList.add(LinkedList.java:198)
	at org.openide.util.RequestProcessor.prioritizedEnqueue(RequestProcessor.java:508)
	at org.openide.util.RequestProcessor.enqueue(RequestProcessor.java:487)
	- locked <0x1292eda0> (a java.lang.Object)
	at org.openide.util.RequestProcessor$EnqueueTask.run(RequestProcessor.java:558)
	at java.util.TimerThread.mainLoop(Timer.java:512)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"Low Memory Detector" daemon prio=6 tid=0x02e82400 nid=0x1ebc runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"CompilerThread0" daemon prio=10 tid=0x02e7c400 nid=0x2554 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Attach Listener" daemon prio=10 tid=0x02e7ac00 nid=0x2768 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Signal Dispatcher" daemon prio=10 tid=0x02e79800 nid=0x27dc runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Finalizer" daemon prio=8 tid=0x02e6a800 nid=0x20e8 in Object.wait() [0x034ef000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x11fc9e68> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

   Locked ownable synchronizers:
	- None

"Reference Handler" daemon prio=10 tid=0x02e65c00 nid=0x1dd8 in Object.wait() [0x032ef000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x11fc9780> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
	- None

"main" prio=6 tid=0x00ab8400 nid=0x2064 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"VM Thread" prio=10 tid=0x02e61c00 nid=0x276c runnable 

"VM Periodic Task Thread" prio=10 tid=0x02e8c800 nid=0x1180 waiting on condition 

JNI global references: 2301
Comment 1 Jan Lahoda 2009-10-27 15:10:28 UTC
Seems that org.netbeans.core.NbClipboard.eventDispatched is trying to post something into RequestProcessor, which
decides to construct stack trace. This blocks, as "Flush UI Logs" thread does something similar. Not related to editor
in any way.
Comment 2 Stanislav Aubrecht 2009-10-29 14:05:22 UTC
reassigning to the author of requestprocessor for evalution
Comment 3 Jaroslav Tulach 2009-10-29 17:05:26 UTC
Who is owner of Platfomr/Other?
Comment 4 Stanislav Aubrecht 2009-10-30 08:14:49 UTC
platform/other has no owner
did you evaluate this issue?
Comment 5 Antonin Nebuzelsky 2009-10-30 12:43:02 UTC
Seems to me that "AWT-EventQueue-1" blocked in Throwable.getStackTraceElement() and "Parsing & Indexing Loop" blocked in
EventQueue.postEventPrivate() are deadlocked. Both are stuck in native code.

Tried googling for it, but did not find anything relevant.
Comment 6 Jesse Glick 2009-10-30 13:34:13 UTC
Not sure why fillInStackTrace is blocking where it is, but note that two other threads are busily doing things with the
disk, which is quite likely to make the whole JVM unresponsive.
Comment 7 goeh 2009-10-30 14:42:45 UTC
Just a quick note. I waited 10-15 minutes before I created the thread dump. NB was unresponsive all that time.
Comment 8 Antonin Nebuzelsky 2009-10-30 14:43:25 UTC
Can you reproduce the problem again and create several thread dumps in a row, e.g. ten thread dumps each after 1 second,
and attach this as a textual attachment to this issue?
Comment 9 Antonin Nebuzelsky 2009-10-30 14:48:44 UTC
Also, let us know what is the heap utilization and the process memory usage. The java process may either be struggling
close to OOME or the process may be heavily swapping memory to disk.

Comment 10 Antonin Nebuzelsky 2009-11-02 09:46:06 UTC
INCOMPLETE until additional info is added.
Comment 11 Zom-B 2015-04-20 12:25:46 UTC
Try a loop like this:


    try {
        throw new RuntimeException(status);
    } catch (RuntimeException thrown) {
        try {
            while (true) {
                /* breakpoint here */ Exceptions.printStackTrace(thrown);
                Thread.sleep(1);
            }
        } catch (InterruptedException ex) {
            Exceptions.printStackTrace(ex);
        }
    }

When you run until the breakpoint, remove the breakpoint, press continue and place the breakpoint back after 1 second.

Your program will break and between 600-1000 exception reports will be printed to NB's output during the next ~2-3 minutes.

Now try again and replace the breakpoint after two seconds. Notice your program does not break. During the next 3:10 minutes 1024 error reports will be printed, and only after that, your program will un-freeze and halt at the breakpoint.

I found out that the thread printing the exceptions ("Swing-Shell" in the traces above but your own thread in your case) will block at BlockingLinkedList.put() (NB 8.0.2). This will block, not until there is a position in the queue available, but in fact until the queue is empty! I've determined that the queue has a capacity of 1024, and exception 'reports' are processed only a few per second, hence it will unfreeze after some time (as long as the loop generating the exceptions is not running).
Comment 12 Martin Entlicher 2015-09-22 15:16:48 UTC
Created attachment 156358 [details]
Self-sample taken during the printStackTrace() in a loop code sample from the previous comment.
Comment 13 Martin Entlicher 2015-09-22 15:30:31 UTC
According to the profiler sample, most of the time is spent in AWT-EventQueue-0 during org.netbeans.core.windows.services.NbPresenter.initializeMessage()
There is a shuffling with the components even though the Warning (exception) dialog is not showing the details.

Since the occupied AWT is a biggest problem for the IDE user, this performance bottleneck should be addressed in NotifyExcPanel.
o.n.core/src/org/netbeans/core/NotifyExcPanel.java
Comment 14 Martin Entlicher 2015-09-30 14:41:48 UTC
Created attachment 156472 [details]
Self-sample taken during the printStackTrace() in a loop code sample when exception dialog is not opened.

This profiler snapshot shows threads load during NB run without -ea, therefore exceptions dialog is not opened and all the load is taken by notifications UI.
Again, AWT is the most busy thread, which makes the IDE hard to use.
Comment 15 Martin Entlicher 2015-09-30 16:16:09 UTC
The problem that was originally reported - AWT-EventQueue-1 blocked at java.lang.Throwable.getStackTraceElement(Native Method) - does not happen in release builds, because SlowItem is not used when assertions are disabled.

There is "FileUtil-Refresh-All" running, scanning files, which can slow the system down considerably and "Parsing & Indexing Loop (200910212001)" seems to be reporting exceptions in a loop. This is actually simulated by the code in comment #11.

This hang with 100% CPU consumption is a response to an already faulty behavior. We should address the performance bottleneck in AWT event queue at least, to be possible to report the repeated exception. But since this seems to be a rare case and the IDE very likely needs to be restarted anyway to recover, P3 priority is more appropriate IMHO.
Scheduling for the next version.