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.
From time to time I'm getting a deadlock when closing file. Two stacks below (both from the same from full thread dump taken at the moment of hangup) show that there is a classic deadlock: "wizard-descriptor-asynchronous-jobs" thread - locked monitor 0xe841edd8 (i.e. code is: synchronized (getLock(){... - then waits in readLock() "AWT-EventQueue-1" thread - locked writeLock() on the same document (see GuardedDocument.runAtomic(GuardedDocument.java:314) - it calls atomicLockImpl which calls writeLock; I attached debugger to make sure documents are same) - then waits for 0xe841edd8 (i.e. code is: synchronized (getLock()) {... "wizard-descriptor-asynchronous-jobs" daemon prio=3 tid=0x0885e400 nid=0x3a in Object.wait() [0x9e8a9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xe8422498> (a org.netbeans.modules.editor.NbEditorDocument) at java.lang.Object.wait(Object.java:485) at javax.swing.text.AbstractDocument.readLock(AbstractDocument.java:1372) - locked <0xe8422498> (a org.netbeans.modules.editor.NbEditorDocument) at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1419) at org.openide.text.PositionRef$Manager$DocumentRenderer.render(PositionRef.java:892) at org.openide.text.PositionRef$Manager.processPositions(PositionRef.java:349) at org.openide.text.PositionRef$Manager.documentClosed(PositionRef.java:290) at org.openide.text.CloneableEditorSupport.doCloseDocument(CloneableEditorSupport.java:2257) at org.openide.text.CloneableEditorSupport.closeDocument(CloneableEditorSupport.java:2224) - locked <0xe841edd8> (a org.openide.windows.CloneableOpenSupport$Listener) at org.openide.text.CloneableEditorSupport.notifyClosed(CloneableEditorSupport.java:2096) at org.openide.text.DataEditorSupport.notifyClosed(DataEditorSupport.java:374) at org.openide.text.CloneableEditorSupport.close(CloneableEditorSupport.java:2200) at org.openide.windows.CloneableOpenSupport.close(CloneableOpenSupport.java:129) at org.netbeans.modules.editor.EditorModule.reformat(EditorModule.java:688) at org.netbeans.modules.editor.EditorModule.access$100(EditorModule.java:106) at org.netbeans.modules.editor.EditorModule$6.operationCreateFromTemplate(EditorModule.java:352) at org.openide.loaders.DataLoaderPool.fireOperationEvent(DataLoaderPool.java:240) at org.openide.loaders.DataObject.fireOperationEvent(DataObject.java:848) at org.openide.loaders.DataObject.createFromTemplate(DataObject.java:821) at org.openide.loaders.DataObject.createFromTemplate(DataObject.java:800) at org.netbeans.modules.cnd.editor.filecreation.CCFSrcFileIterator.instantiate(CCFSrcFileIterator.java:168) at org.netbeans.modules.cnd.editor.filecreation.CCFSrcFileIterator.instantiate(CCFSrcFileIterator.java:154) at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1019) at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:591) at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:412) at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:256) at org.openide.loaders.TemplateWizardIteratorWrapper.instantiate(TemplateWizardIteratorWrapper.java:168) at org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1548) at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1505) at org.openide.WizardDescriptor.access$1700(WizardDescriptor.java:137) at org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2099) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968) "AWT-EventQueue-1" prio=3 tid=0x098c9000 nid=0x24 waiting for monitor entry [0x9f336000] java.lang.Thread.State: BLOCKED (on object monitor) at org.openide.text.CloneableEditorSupport.getDocument(CloneableEditorSupport.java:933) - waiting to lock <0xe841edd8> (a org.openide.windows.CloneableOpenSupport$Listener) at org.openide.text.EditorSupportLineSet$Closed.stateChanged(EditorSupportLineSet.java:253) - locked <0xe8217eb0> (a org.openide.text.EditorSupportLineSet$Closed) at org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImpl.java:329) at org.openide.text.CloneableEditorSupport.fireStateChangeEvent(CloneableEditorSupport.java:2370) at org.openide.text.CloneableEditorSupport.fireDocumentChange(CloneableEditorSupport.java:2353) at org.openide.text.CloneableEditorSupport.checkReload(CloneableEditorSupport.java:2331) at org.openide.text.CloneableEditorSupport.access$2600(CloneableEditorSupport.java:133) at org.openide.text.CloneableEditorSupport$Listener$1.run(CloneableEditorSupport.java:2952) at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:314) at org.openide.text.NbDocument.runAtomic(NbDocument.java:422) at org.openide.text.CloneableEditorSupport$Listener$1.run(CloneableEditorSupport.java:2944) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) ... ...
To be honest, I should confess that for now I'm only able to reproduce this on projects that are located on remote file system: in CND, set up a remote host; add a folder from this host to favorites; open a project there; add some new files there - approx. at 3-rd to 7-th attempt you'll get IDE totally frozen. I would try finding the reason on remote FS side if I didn't see classical deadlock situation: under certain circumstances two locks are taken from different threads in an opposite order.
A workaround has been pushed to cnd-main: http://hg.netbeans.org/cnd-main/rev/e72b14c4ac24
Integrated into 'releases', will be available in build *201202082200* or newer. Wait for official and publicly available build. Changeset: http://hg.netbeans.org/releases/rev/fb629a366725 User: Vladimir Kvashin <vkvashin@netbeans.org> Log: Fixing #207170, #207571 (transplanted from e72b14c4ac246a20d896924f22774b44613f50d4)
I guess that this is a dup of issue #207571. *** This bug has been marked as a duplicate of bug 207571 ***