JDK-8024977 : Linux: deadlock when unpluggin a monitor
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • Submitted: 2013-09-18
  • Updated: 2013-09-19
  • Resolved: 2013-09-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Resolved
Related Reports
Duplicate :  
Description
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.
Comments
pending evaluation
19-09-2013