Here is a thread dump while a refactoring process is running (and IDE is hung): ------------------------------------------------------------------------ 2013-12-11 19:15:28 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode): "Inactive RequestProcessor thread [Was:Project UI/org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode]" daemon prio=5 tid=0x00007fa5839a7800 nid=0x1063f in Object.wait() [0x0000000124661000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007fa41b728> (a java.lang.Object) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1987) - locked <0x00000007fa41b728> (a java.lang.Object) "Inactive RequestProcessor thread [Was:org.netbeans.modules.maven.nodes.AnnotatedAbstractNode/org.netbeans.modules.maven.nodes.ProjectFilesNode]" daemon prio=5 tid=0x00007fa58a48e000 nid=0x13987 in Object.wait() [0x0000000120878000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007fa41c048> (a java.lang.Object) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1987) - locked <0x00000007fa41c048> (a java.lang.Object) "Attach Listener" daemon prio=5 tid=0x00007fa58c899000 nid=0x10a57 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "org.netbeans.modules.refactoring.spi.impl.RefactoringPanel" daemon prio=5 tid=0x00007fa582883800 nid=0x9033 in Object.wait() [0x000000011d7cb000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007f64ce7a0> (a java.awt.EventQueue$1AWTInvocationLock) at java.lang.Object.wait(Object.java:503) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1266) - locked <0x00000007f64ce7a0> (a java.awt.EventQueue$1AWTInvocationLock) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1247) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1349) at org.netbeans.modules.refactoring.spi.impl.RefactoringPanel.createNode(RefactoringPanel.java:505) at org.netbeans.modules.refactoring.spi.impl.RefactoringPanel.access$1200(RefactoringPanel.java:104) at org.netbeans.modules.refactoring.spi.impl.RefactoringPanel$4.run(RefactoringPanel.java:788) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2042) "Inactive RequestProcessor thread [Was:org.netbeans.spi.java.project.support.ui.PackageRootNode/org.netbeans.spi.java.project.support.ui.PackageRootNode]" daemon prio=5 tid=0x00007fa58c918000 nid=0x13c5b in Object.wait() [0x000000011d5c8000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007fa54d0f8> (a java.lang.Object) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1987) - locked <0x00000007fa54d0f8> (a java.lang.Object) "Inactive RequestProcessor thread [Was:JarFs - modification watcher/org.openide.filesystems.JarFileSystem$2]" daemon prio=5 tid=0x00007fa582b95800 nid=0xd43f in Object.wait() [0x0000000115b92000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007fa493ec8> (a java.lang.Object) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1987) - locked <0x00000007fa493ec8> (a java.lang.Object) "Editor Parsing Loop (201310111528)" daemon prio=5 tid=0x00007fa58a1b6000 nid=0x13d03 waiting on condition [0x0000000120a7b000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000007d4afcb68> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:539) at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:665) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2042) "DestroyJavaVM" prio=5 tid=0x00007fa5852af800 nid=0x1903 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "TimerQueue" daemon prio=5 tid=0x00007fa585a42800 nid=0x11e03 waiting on condition [0x000000011e4c2000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000007d145b248> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at java.util.concurrent.DelayQueue.take(DelayQueue.java:220) at javax.swing.TimerQueue.run(TimerQueue.java:171) at java.lang.Thread.run(Thread.java:744) "Worker-JM" prio=5 tid=0x00007fa583953000 nid=0x11c07 in Object.wait() [0x000000011e01f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d1233490> (a java.util.ArrayList) at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58) - locked <0x00000007d1233490> (a java.util.ArrayList) "Thread-5" daemon prio=5 tid=0x00007fa5853e5800 nid=0x11627 in Object.wait() [0x000000011a890000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d0992210> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:503) at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1476) - locked <0x00000007d0992210> (a java.util.LinkedList) "File Watcher" daemon prio=5 tid=0x00007fa584945000 nid=0x11403 waiting on condition [0x000000011dbe9000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000007d11133c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at org.netbeans.modules.masterfs.watcher.macosx.OSXNotifier.nextEvent(OSXNotifier.java:105) at org.netbeans.modules.masterfs.providers.Notifier$1.nextEvent(Notifier.java:119) at org.netbeans.modules.masterfs.watcher.Watcher$Ext.run(Watcher.java:304) at java.lang.Thread.run(Thread.java:744) "Thread-3" daemon prio=5 tid=0x00007fa585bfa000 nid=0x10b03 runnable [0x000000011d9e6000] java.lang.Thread.State: RUNNABLE at com.sun.jna.Native.invokeVoid(Native Method) at com.sun.jna.Function.invoke(Function.java:328) at com.sun.jna.Function.invoke(Function.java:276) at com.sun.jna.Library$Handler.invoke(Library.java:216) at com.sun.proxy.$Proxy2.CFRunLoopRun(Unknown Source) at org.netbeans.modules.masterfs.watcher.macosx.OSXNotifier$1.run(OSXNotifier.java:126) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) "Bundle File Closer" daemon prio=5 tid=0x00007fa583e42000 nid=0x10103 in Object.wait() [0x000000011ad85000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d0968130> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at java.lang.Object.wait(Object.java:503) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400) - locked <0x00000007d0968130> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336) "Framework Event Dispatcher" daemon prio=5 tid=0x00007fa582b3f000 nid=0xff03 in Object.wait() [0x000000011ab82000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d09682b0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at java.lang.Object.wait(Object.java:503) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400) - locked <0x00000007d09682b0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336) "Framework Active Thread" prio=5 tid=0x00007fa583220800 nid=0xf707 in Object.wait() [0x000000011a48a000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d0801b50> (a org.eclipse.osgi.framework.internal.core.Framework) at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1863) - locked <0x00000007d0801b50> (a org.eclipse.osgi.framework.internal.core.Framework) at java.lang.Thread.run(Thread.java:744) "AWT-EventQueue-0" prio=5 tid=0x00007fa583194800 nid=0xdd07 in Object.wait() [0x0000000115e23000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d03bfab8> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher) at java.lang.Object.wait(Object.java:503) at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.flushNow(OGLRenderQueue.java:181) - locked <0x00000007d03bfab8> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher) at sun.java2d.opengl.OGLRenderQueue.flushNow(OGLRenderQueue.java:129) at sun.java2d.opengl.OGLBlitLoops.Blit(OGLBlitLoops.java:283) at sun.java2d.opengl.OGLSwToSurfaceBlit.Blit(OGLBlitLoops.java:567) at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:955) at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:576) at sun.java2d.pipe.DrawImage.tryCopyOrScale(DrawImage.java:294) at sun.java2d.pipe.DrawImage.transformImage(DrawImage.java:256) at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:124) at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:1046) at sun.java2d.pipe.ValidatePipe.scaleImage(ValidatePipe.java:207) at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3125) at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3065) at com.apple.laf.AquaPainter$AquaSingleImagePainter.paintFromSingleCachedImage(AquaPainter.java:171) at com.apple.laf.AquaPainter$AquaSingleImagePainter.paint(AquaPainter.java:140) at com.apple.laf.AquaPainter.paint(AquaPainter.java:89) at com.apple.laf.AquaProgressBarUI.paint(AquaProgressBarUI.java:183) at com.apple.laf.AquaProgressBarUI.paint(AquaProgressBarUI.java:164) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at javax.swing.JComponent.paintComponent(JComponent.java:778) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JComponent.paintChildren(JComponent.java:887) - locked <0x00000007d0079268> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1063) at javax.swing.JComponent.paintChildren(JComponent.java:887) - locked <0x00000007d0079268> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1063) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452) at javax.swing.RepaintManager.paint(RepaintManager.java:1249) at javax.swing.JComponent._paintImmediately(JComponent.java:5167) at javax.swing.JComponent.paintImmediately(JComponent.java:4978) at javax.swing.RepaintManager$3.run(RepaintManager.java:808) at javax.swing.RepaintManager$3.run(RepaintManager.java:796) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718) at javax.swing.RepaintManager.access$1100(RepaintManager.java:62) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) "Java2D Disposer" daemon prio=5 tid=0x00007fa58205c800 nid=0xd203 in Object.wait() [0x00000001153ac000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d00ab908> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x00000007d00ab908> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at sun.java2d.Disposer.run(Disposer.java:145) at java.lang.Thread.run(Thread.java:744) "Java2D Queue Flusher" daemon prio=5 tid=0x00007fa58287c000 nid=0xc807 runnable [0x000000011403f000] java.lang.Thread.State: RUNNABLE at sun.java2d.opengl.OGLRenderQueue.flushBuffer(Native Method) at sun.java2d.opengl.OGLRenderQueue.flushBuffer(OGLRenderQueue.java:153) at sun.java2d.opengl.OGLRenderQueue.access$100(OGLRenderQueue.java:40) at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:231) - locked <0x00000007d03bfab8> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher) "RequestProcessor queue manager" daemon prio=5 tid=0x00007fa583125000 nid=0x8207 in Object.wait() [0x0000000113e3c000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d028a1a8> (a java.lang.Class for org.openide.util.RequestProcessor$TickTac) at org.openide.util.RequestProcessor$TickTac.obtainFirst(RequestProcessor.java:2265) - locked <0x00000007d028a1a8> (a java.lang.Class for org.openide.util.RequestProcessor$TickTac) at org.openide.util.RequestProcessor$TickTac.run(RequestProcessor.java:2241) "AWT-Shutdown" prio=5 tid=0x00007fa582846800 nid=0x790b in Object.wait() [0x000000011152e000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d02554c8> (a java.lang.Object) at java.lang.Object.wait(Object.java:503) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:287) - locked <0x00000007d02554c8> (a java.lang.Object) at java.lang.Thread.run(Thread.java:744) "AppKit Thread" daemon prio=5 tid=0x00007fa583030800 nid=0x507 runnable [0x00007fff5b963000] java.lang.Thread.State: RUNNABLE at sun.lwawt.macosx.LWCToolkit.doAWTRunLoop(Native Method) at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:549) at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:489) at sun.lwawt.macosx.CAccessibility.invokeAndWait(CAccessibility.java:75) at sun.lwawt.macosx.CAccessibility.getFocusOwner(CAccessibility.java:521) "CLI Requests Server" daemon prio=5 tid=0x00007fa585009800 nid=0x5903 runnable [0x000000010f5c7000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398) at java.net.ServerSocket.implAccept(ServerSocket.java:530) at java.net.ServerSocket.accept(ServerSocket.java:498) at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1100) "Active Reference Queue Daemon" daemon prio=5 tid=0x00007fa58302b800 nid=0x5703 in Object.wait() [0x000000010f3c4000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d0396810> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x00000007d0396810> (a java.lang.ref.ReferenceQueue$Lock) at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:180) - locked <0x00000007d0396810> (a java.lang.ref.ReferenceQueue$Lock) "Service Thread" daemon prio=5 tid=0x00007fa582815800 nid=0x5303 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" daemon prio=5 tid=0x00007fa582815000 nid=0x5103 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" daemon prio=5 tid=0x00007fa58484f800 nid=0x4f03 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=5 tid=0x00007fa58484c800 nid=0x4d03 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=5 tid=0x00007fa58280e000 nid=0x3903 in Object.wait() [0x000000010e7c1000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d01aa0d8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x00000007d01aa0d8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189) "Reference Handler" daemon prio=5 tid=0x00007fa58280b800 nid=0x3703 in Object.wait() [0x000000010e5be000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007d03e5ce8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:503) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) - locked <0x00000007d03e5ce8> (a java.lang.ref.Reference$Lock) "VM Thread" prio=5 tid=0x00007fa584849000 nid=0x3503 runnable "GC task thread#0 (ParallelGC)" prio=5 tid=0x00007fa585803800 nid=0x2503 runnable "GC task thread#1 (ParallelGC)" prio=5 tid=0x00007fa583003800 nid=0x2703 runnable "GC task thread#2 (ParallelGC)" prio=5 tid=0x00007fa583004800 nid=0x2903 runnable "GC task thread#3 (ParallelGC)" prio=5 tid=0x00007fa583005000 nid=0x2b03 runnable "GC task thread#4 (ParallelGC)" prio=5 tid=0x00007fa584802000 nid=0x2d03 runnable "GC task thread#5 (ParallelGC)" prio=5 tid=0x00007fa58480b800 nid=0x2f03 runnable "GC task thread#6 (ParallelGC)" prio=5 tid=0x00007fa58480c000 nid=0x3103 runnable "GC task thread#7 (ParallelGC)" prio=5 tid=0x00007fa58480d000 nid=0x3303 runnable "VM Periodic Task Thread" prio=5 tid=0x00007fa582816800 nid=0x5503 waiting on condition JNI global references: 3687