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

Linux: deadlock when unpluggin a monitor

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • 8
    • 8
    • client-libs
    • None

      Steps to reproduce:
      1. get a multimonitor linux machine
      2. run any application and move the window to the secondary monitor
      3. unplug the monitor.

      The following deadlock is detected:

      "AWT-EventQueue-0":
      at sun.misc.Unsafe.park(Native Method)
      - parking to wait for <0x00000000d7f74750> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:868)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
      at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
      at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
      at sun.awt.SunToolkit.awtLock(SunToolkit.java:248)
      at sun.java2d.xr.XRRenderer.fillRect(XRRenderer.java:148)
      at sun.java2d.SunGraphics2D.fillRect(SunGraphics2D.java:2389)
      at javax.swing.plaf.metal.MetalScrollButton.paint(MetalScrollButton.java:100)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      - locked <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at javax.swing.JComponent.paintToOffscreen(JComponent.java:5226)
      at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
      at javax.swing.RepaintManager.paint(RepaintManager.java:1252)
      at javax.swing.JComponent.paint(JComponent.java:1040)
      at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
      at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
      at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
      at java.awt.Container.paint(Container.java:1968)
      at java.awt.Window.paint(Window.java:3884)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:822)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:794)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
      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:1680)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
      at java.awt.EventQueue.access$400(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:697)
      at java.awt.EventQueue$3.run(EventQueue.java:691)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:220)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:135)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:123)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:119)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:111)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
      "AWT-XAWT":
      at java.awt.Component.getGraphicsConfiguration(Component.java:1147)
      - waiting to lock <0x00000000d7f26490> (a java.awt.Component$AWTTreeLock)
      at sun.awt.image.SunVolatileImage.updateGraphicsConfig(SunVolatileImage.java:138)
      at sun.awt.image.VolatileSurfaceManager.displayChanged(VolatileSurfaceManager.java:345)
      at sun.awt.SunDisplayChanger.notifyListeners(SunDisplayChanger.java:132)
      at sun.java2d.SunGraphicsEnvironment.displayChanged(SunGraphicsEnvironment.java:281)
      at sun.awt.X11.XToolkit$1.dispatchEvent(XToolkit.java:244)
      at sun.awt.X11.XToolkit.dispatchEvent(XToolkit.java:520)
      at sun.awt.X11.XToolkit.run(XToolkit.java:615)
      at sun.awt.X11.XToolkit.run(XToolkit.java:536)
      at java.lang.Thread.run(Thread.java:724)

      Found 1 deadlock.

            serb Sergey Bylokhov
            pchelko Petr Pchelko (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: