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 218326 - Deadlock while "loading main window"
Summary: Deadlock while "loading main window"
Status: RESOLVED DUPLICATE of bug 213926
Alias: None
Product: platform
Classification: Unclassified
Component: JDK Problems (show other bugs)
Version: 7.1.2
Hardware: PC Linux
: P1 normal (vote)
Assignee: Antonin Nebuzelsky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-13 22:25 UTC by tdanard
Modified: 2012-09-14 12:51 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tdanard 2012-09-13 22:25:59 UTC
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
Comment 1 tdanard 2012-09-13 22:35:06 UTC
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)
Comment 2 Jiri Rechtacek 2012-09-14 07:17:29 UTC
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.
Comment 3 Antonin Nebuzelsky 2012-09-14 12:51:53 UTC
Fixed in 7u10 b03 and newer.
http://jdk7.java.net/download.html

*** This bug has been marked as a duplicate of bug 213926 ***