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.
I have created a NetBeans platform application. This application launches correctly. If I click the menu items while the message "Loading Main Window" is displayed, I often get a deadlock. I used jConsole to analyse this deadlock. This is what I got: Name: AWT-EventQueue-0 State: BLOCKED on sun.awt.PostEventQueue@631fe282 owned by: Folder Instance Processor Total blocked: 36 Total waited: 284 Stack trace: sun.awt.PostEventQueue.noEvents(SunToolkit.java:2104) sun.awt.SunToolkit.isPostEventQueueEmpty(SunToolkit.java:577) java.awt.EventQueue.detachDispatchThread(EventQueue.java:1048) java.awt.EventDispatchThread.run(EventDispatchThread.java:103) Name: Folder Instance Processor State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@377b9411 owned by: AWT-EventQueue-0 Total blocked: 4 Total waited: 5 Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) java.awt.EventQueue.postEventPrivate(EventQueue.java:235) java.awt.EventQueue.postEvent(EventQueue.java:221) sun.awt.PostEventQueue.flush(SunToolkit.java:2116) - locked sun.awt.PostEventQueue@631fe282 sun.awt.SunToolkit.flushPendingEvents(SunToolkit.java:563) java.awt.EventQueue.postEvent(EventQueue.java:220) java.awt.EventQueue.invokeLater(EventQueue.java:1188) org.openide.util.Mutex.doEvent(Mutex.java:1343) org.openide.util.Mutex.readAccess(Mutex.java:348) org.netbeans.modules.openide.loaders.AWTTask.<init>(AWTTask.java:68) org.openide.awt.MenuBar$LazyMenu$MenuFolder.postCreationTask(MenuBar.java:791) org.openide.loaders.FolderInstance$1R.run(FolderInstance.java:726) org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411) org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991) Name: Computes values in handlers State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@797b930d owned by: Folder Instance Processor Total blocked: 0 Total waited: 1,351 Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) sun.awt.SunToolkit.flushPendingEvents(SunToolkit.java:554) java.awt.EventQueue.postEvent(EventQueue.java:220) java.awt.EventQueue.invokeLater(EventQueue.java:1188) javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1287) org.netbeans.core.CLIOptions2.cli(CLIOptions2.java:100) org.netbeans.core.CoreBridgeImpl.cli(CoreBridgeImpl.java:167) org.netbeans.core.startup.CLICoreBridge.cli(CLICoreBridge.java:79) org.netbeans.CLIHandler.notifyHandlers(CLIHandler.java:236) org.netbeans.CLIHandler$Server$1ComputingAndNotifying.run(CLIHandler.java:1199) I can reproduce this bug on Windows as well. Version of Java used on Linux 2.6.18-308.4.1.el5 is: jdk1.7.0_05 Java HotSpot(TM) 64-Bit Server VM version 23.1-b03
Here is another deadlock detected with the same technique: Name: close modules State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@7465f049 owned by: AWT-EventQueue-0 Total blocked: 0 Total waited: 1 Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) java.awt.EventQueue.isDispatchThreadImpl(EventQueue.java:989) java.awt.EventQueue.isDispatchThread(EventQueue.java:984) org.openide.util.Mutex.doEvent(Mutex.java:1340) org.openide.util.Mutex.readAccess(Mutex.java:348) org.netbeans.core.NbLifecycleManager.exit(NbLifecycleManager.java:111) org.netbeans.ModuleManager$1.run(ModuleManager.java:1818) Name: AWT-EventQueue-0 State: BLOCKED on sun.awt.PostEventQueue@3f5e0032 owned by: NbStatusDisplayer Total blocked: 23 Total waited: 372 Stack trace: sun.awt.PostEventQueue.noEvents(SunToolkit.java:2104) sun.awt.SunToolkit.isPostEventQueueEmpty(SunToolkit.java:577) java.awt.EventQueue.detachDispatchThread(EventQueue.java:1048) java.awt.EventDispatchThread.run(EventDispatchThread.java:103) Name: NbStatusDisplayer State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@7465f049 owned by: AWT-EventQueue-0 Total blocked: 1 Total waited: 2 Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) java.awt.EventQueue.postEventPrivate(EventQueue.java:235) java.awt.EventQueue.postEvent(EventQueue.java:221) sun.awt.PostEventQueue.flush(SunToolkit.java:2116) - locked sun.awt.PostEventQueue@3f5e0032 sun.awt.SunToolkit.flushPendingEvents(SunToolkit.java:563) java.awt.EventQueue.postEvent(EventQueue.java:220) java.awt.EventQueue.invokeLater(EventQueue.java:1188) javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1287) org.netbeans.core.windows.view.ui.StatusLine.stateChanged(StatusLine.java:95) org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:133) org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:119) org.netbeans.core.NbStatusDisplayer.remove(NbStatusDisplayer.java:171) org.netbeans.core.NbStatusDisplayer.access$300(NbStatusDisplayer.java:62) org.netbeans.core.NbStatusDisplayer$MessageImpl.run(NbStatusDisplayer.java:197) org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411) org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)
I guess the deadlock while opening menu items while loading main window was investigated and reported to JDK already, I cannot recall the issue number.
Fixed in 7u10 b03 and newer. http://jdk7.java.net/download.html *** This bug has been marked as a duplicate of bug 213926 ***