Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7177040

Deadlock between PostEventQueue.noEvents, EventQueue.isDispatchThread and SwingUtilities.invokeLater

XMLWordPrintable

    • b01
    • x86
    • linux, os_x, windows_7
    • Verified

        The following deadlock has been encountered when starting NetBeans on Java 7 on Windows 7. Full thread dump is also attached to this bug report.

        "Indexer Cache":
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <0x00000000d0040460> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
        at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
        at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
        at java.awt.EventQueue.isDispatchThreadImpl(EventQueue.java:989)
        at java.awt.EventQueue.isDispatchThread(EventQueue.java:984)
        at javax.swing.SwingUtilities.isEventDispatchThread(SwingUtilities.java:1359)
        at org.netbeans.modules.maven.j2ee.web.WebCopyOnSave$FileListenerImpl.fileChanged(WebCopyOnSave.java:154)
        at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEventImpl(FCLSupport.java:145)
        at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEvent(FCLSupport.java:128)
        at org.openide.filesystems.FCLSupport.dispatchEvent(FCLSupport.java:105)
        at org.openide.filesystems.FileObject$ED.dispatch(FileObject.java:1280)
        at org.openide.filesystems.FileSystem$EventDispatcher.run(FileSystem.java:997)
        at org.openide.filesystems.EventControl.dispatchEvent(EventControl.java:84)
        at org.openide.filesystems.FileSystem.dispatchEvent(FileSystem.java:642)
        at org.openide.filesystems.FileObject.dispatchEvent(FileObject.java:564)
        at org.openide.filesystems.FileObject.fireFileChangedEvent(FileObject.java:532)
        at org.netbeans.modules.masterfs.filebasedfs.fileobjects.BaseFileObj.fireFileChangedEvent(BaseFileObj.java:672)
        at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObj$1.close(FileObj.java:137)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
        at org.openide.filesystems.FileObject$1.close(FileObject.java:747)
        at org.netbeans.modules.parsing.impl.indexing.IndexerCache.writeLastKnownIndexers(IndexerCache.java:618)
        at org.netbeans.modules.parsing.impl.indexing.IndexerCache.getData(IndexerCache.java:428)
        - locked <0x00000000d0c7ccd0> (a org.netbeans.modules.parsing.impl.indexing.IndexerCache$1)
        at org.netbeans.modules.parsing.impl.indexing.IndexerCache.access$400(IndexerCache.java:88)
        at org.netbeans.modules.parsing.impl.indexing.IndexerCache$3.run(IndexerCache.java:455)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)
        "AWT-EventQueue-1":
        at sun.awt.PostEventQueue.noEvents(SunToolkit.java:2104)
        - waiting to lock <0x00000000d048a490> (a sun.awt.PostEventQueue)
        at sun.awt.SunToolkit.isPostEventQueueEmpty(SunToolkit.java:577)
        at java.awt.EventQueue.detachDispatchThread(EventQueue.java:1048)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:103)
        "TimerQueue":
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <0x00000000d0040460> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
        at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
        at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
        at java.awt.EventQueue.postEventPrivate(EventQueue.java:235)
        at java.awt.EventQueue.postEvent(EventQueue.java:221)
        at sun.awt.PostEventQueue.flush(SunToolkit.java:2116)
        - locked <0x00000000d048a490> (a sun.awt.PostEventQueue)
        at sun.awt.SunToolkit.flushPendingEvents(SunToolkit.java:563)
        at java.awt.EventQueue.postEvent(EventQueue.java:220)
        at java.awt.EventQueue.invokeLater(EventQueue.java:1188)
        at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1287)
        at javax.swing.Timer$1.run(Timer.java:613)
        at javax.swing.Timer$1.run(Timer.java:611)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.swing.Timer.post(Timer.java:611)
        at javax.swing.TimerQueue.run(TimerQueue.java:181)
        at java.lang.Thread.run(Thread.java:722)

        Found 1 deadlock.

        Original NetBeans bug:
        http://netbeans.org/bugzilla/show_bug.cgi?id=213926

              bagiras Oleg Pekhovskiy (Inactive)
              anebuzel Antonín Nebuželský
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: