-
Bug
-
Resolution: Unresolved
-
P4
-
8u40, 9, 11
-
x86_64
-
windows_7
FULL PRODUCT VERSION :
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
When locking windows and unlocking it again, our swing application does hang very often. The stacktrace (retrieved with jstack) does indicate a deadlock between the "D3D Screen Updater" thread and AWT-Event-Queue.
This might be a duplicate of http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8005111 and/or http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6647449.
I was able to break the problem down to the combination of two components:
Usage of JBusyComponent and a custom RepaintManager.
In our application we use CheckThreadViolationRepaintManager, but I was further able to reduce it to only *a* custom RepaintManager, although it is important, that this RepaintManager does have a delegate.
I was not able to reproduce it when not using JBusyComponent.
D3D must be enabled to reproduce the bug, i.e. there must be a "D3D Screen Updater" thread.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Start the application. Then do the following in rapid order:
- press Ctrl+Alt+Del (the lock screen appears where you can choose between locking the computer, switch users, change password, etc.)
- press Esc (cancels the lock screen, back to windows, no password entry needed)
The easiest way to start the application is to use gradle (I used gradle 1.3) and the provided buildscript and execute
gradle run
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The application should be responsive.
ACTUAL -
After a couple(10 or so) of Ctrl+Alt+Del, Esc repetitions the application does hang. Most of the time, the application does recover after some time (~30s to 1min).
I will attach the relevant stacktrace.
But our real application does most of the time not recover. The stacktrace is different in that case. I was not able to reproduce this with this minimal application, but I will try to attach the stacktrace of this real deadlock as well.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
deadlock-with-recovery.log:
2015-03-27 15:28:44
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
"D3D Screen Updater" #20 daemon prio=7 os_prio=1 tid=0x000000001f9fa000 nid=0x16b0 in Object.wait() [0x0000000026dff000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.java2d.d3d.D3DScreenUpdateManager.run(D3DScreenUpdateManager.java:423)
- locked <0x000000076ee10178> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"TimerQueue" #18 daemon prio=5 os_prio=0 tid=0x000000001f87d800 nid=0x1014 waiting on condition [0x0000000025f2f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000076ee00730> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
at javax.swing.TimerQueue.run(TimerQueue.java:171)
at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" #16 prio=5 os_prio=0 tid=0x0000000001d9e800 nid=0x2284 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" #15 prio=6 os_prio=0 tid=0x000000001f70a000 nid=0x23cc runnable [0x0000000020628000]
java.lang.Thread.State: RUNNABLE
at sun.java2d.d3d.D3DRenderQueue.flushBuffer(Native Method)
at sun.java2d.d3d.D3DRenderQueue.flushBuffer(D3DRenderQueue.java:152)
at sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow(D3DRenderQueue.java:142)
at sun.java2d.d3d.D3DSurfaceData$D3DDataBufferNative.getElem(D3DSurfaceData.java:448)
at sun.awt.image.DataBufferNative.getElem(DataBufferNative.java:75)
at java.awt.image.DataBuffer.getElem(DataBuffer.java:329)
at java.awt.image.SinglePixelPackedSampleModel.getDataElements(SinglePixelPackedSampleModel.java:409)
at java.awt.image.Raster.getDataElements(Raster.java:1466)
at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(CustomComponent.java:144)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:560)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:541)
at sun.java2d.loops.MaskBlit$General.MaskBlit(MaskBlit.java:189)
- locked <0x000000076ee186a8> (a sun.java2d.loops.MaskBlit$General)
at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Blit.java:204)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:959)
at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:577)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1014)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:186)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3296)
at org.jdesktop.jxlayer.plaf.AbstractBufferedLayerUI.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
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:1973)
at java.awt.Window.paint(Window.java:3912)
at javax.swing.RepaintManager$4.run(RepaintManager.java:835)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at de.gliderpilot.d3d.CheckThreadViolationRepaintManager.paintDirtyRegions(CheckThreadViolationRepaintManager.java:214)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
"AWT-Windows" #13 daemon prio=6 os_prio=0 tid=0x000000001f705800 nid=0x1adc runnable [0x00000000202fe000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(WToolkit.java:306)
at java.lang.Thread.run(Thread.java:745)
"AWT-Shutdown" #12 prio=5 os_prio=0 tid=0x000000001f704800 nid=0x19dc in Object.wait() [0x00000000201ce000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000076ee00aa0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
- locked <0x000000076ee00aa0> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"Java2D Disposer" #11 daemon prio=10 os_prio=2 tid=0x000000001f704000 nid=0x1084 in Object.wait() [0x000000002001e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x000000076ee00c50> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at sun.java2d.Disposer.run(Disposer.java:148)
at java.lang.Thread.run(Thread.java:745)
"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x000000001d72a800 nid=0x21d8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x000000001d6e7800 nid=0x1280 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000001d6e2800 nid=0x1cc0 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000000001d6db800 nid=0x178 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000001d6d3800 nid=0x22bc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000001d6d2800 nid=0x22ac waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000001d6cf800 nid=0xf5c runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000001c731800 nid=0x1718 in Object.wait() [0x000000001ea1f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000076ee01a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x000000076ee01a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000001c72a800 nid=0x20a8 in Object.wait() [0x000000001e8ef000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x000000076ee01c60> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=2 tid=0x000000001d681800 nid=0x1f70 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x000000000218e000 nid=0x1948 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x000000000218f800 nid=0x7bc runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002191000 nid=0x20e0 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002192800 nid=0xc10 runnable
"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x0000000002196000 nid=0x1764 runnable
"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x0000000002199000 nid=0x928 runnable
"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x000000000219a000 nid=0x14fc runnable
"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x000000000219b800 nid=0x1e80 runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000000001d72b000 nid=0x1f8c waiting on condition
JNI global references: 438
=========
deadlock-without-recovery.log:
2015-03-27 10:21:41
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
"DataRequest: ItemTable" #214 daemon prio=6 os_prio=0 tid=0x000000002035c800 nid=0xe70 waiting on condition [0x00000000253de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f9826968> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Timer-2" #212 daemon prio=6 os_prio=0 tid=0x000000002035b000 nid=0x1dc4 in Object.wait() [0x000000001b91e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x00000000fafb7068> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at kam.janet.gui.table.chain.chainelements.GuiTableModel.canUpdate(GuiTableModel.java:1361)
at kam.janet.gui.table.chain.Chain.informUpdatesAvailable(Chain.java:242)
at kam.janet.gui.table.chain.communication.AbstractTableChainCommunicationElement.informUpdatesAvailable(AbstractTableChainCommunicationElement.java:126)
at kam.janet.gui.table.chain.communication.TableServiceRequest.submitRequest(TableServiceRequest.java:343)
at kam.janet.gui.table.chain.communication.TableServiceRequest.updateRequest(TableServiceRequest.java:243)
at kam.rocky.janet.model.TableChainModel.refresh(TableChainModel.java:204)
at kam.rocky.janet.communication.TableChainCommunicator.refresh(TableChainCommunicator.java:75)
at kam.rocky.communicator.BaseCommunicator$PollingTask.run(BaseCommunicator.java:247)
- locked <0x00000000f979e3b8> (a kam.rocky.communicator.BaseCommunicator$PollingTask)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
"tyrus-1-thread-10" #167 daemon prio=5 os_prio=0 tid=0x000000001a068800 nid=0x10dc waiting on condition [0x000000001ac1f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-9" #164 daemon prio=5 os_prio=0 tid=0x0000000020637800 nid=0x23f8 waiting on condition [0x000000002ed8e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-8" #162 daemon prio=5 os_prio=0 tid=0x000000001a071800 nid=0x169c waiting on condition [0x000000002c88f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-7" #158 daemon prio=5 os_prio=0 tid=0x0000000020637000 nid=0xba8 waiting on condition [0x000000001cccf000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-6" #157 daemon prio=5 os_prio=0 tid=0x0000000020636000 nid=0x3b0 waiting on condition [0x000000001cb5e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-5" #153 daemon prio=5 os_prio=0 tid=0x0000000020633000 nid=0x96c waiting on condition [0x000000002bc3f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Thread-93" #152 daemon prio=6 os_prio=0 tid=0x0000000020632800 nid=0x1624 runnable [0x000000002ba1f000]
java.lang.Thread.State: RUNNABLE
at sun.print.Win32PrintServiceLookup.notifyPrinterChange(Native Method)
at sun.print.Win32PrintServiceLookup.access$100(Unknown Source)
at sun.print.Win32PrintServiceLookup$PrinterChangeListener.run(Unknown Source)
"tyrus-1-thread-4" #151 daemon prio=5 os_prio=0 tid=0x0000000020631800 nid=0x1f14 waiting on condition [0x000000002b8fe000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Rocky Timer" #150 daemon prio=6 os_prio=0 tid=0x0000000023d35800 nid=0x23f0 in Object.wait() [0x000000002b59f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x00000000fb007958> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at kam.rocky.view.swing.SwingViewFactory.execSync(SwingViewFactory.java:1269)
at kam.rocky.janet.base.JanetSession$PingingTask.run(JanetSession.java:352)
- locked <0x00000000f60be7a0> (a kam.rocky.janet.base.JanetSession$PingingTask)
at kam.rocky.util.RockyTimerTask$1.run(RockyTimerTask.java:45)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
"tyrus-1-thread-3" #148 daemon prio=5 os_prio=0 tid=0x000000001a070000 nid=0x21cc waiting on condition [0x0000000024cef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-2" #147 daemon prio=5 os_prio=0 tid=0x000000001a070800 nid=0x1a38 waiting on condition [0x000000002abee000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-1" #146 daemon prio=5 os_prio=0 tid=0x000000001a06d800 nid=0x1f38 waiting on condition [0x000000002552e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
" tyrus-jdk-client-1" #144 daemon prio=5 os_prio=0 tid=0x000000001a06f000 nid=0x10a8 runnable [0x00000000228de000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
at sun.nio.ch.Iocp.access$300(Unknown Source)
at sun.nio.ch.Iocp$EventHandlerTask.run(Unknown Source)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"anInnocuousThread" #143 daemon prio=6 os_prio=0 tid=0x000000001a06e800 nid=0x1bb8 runnable [0x000000002241f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
at sun.nio.ch.Iocp.access$300(Unknown Source)
at sun.nio.ch.Iocp$EventHandlerTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.misc.InnocuousThread.run(Unknown Source)
"RxComputationThreadPool-8" #142 daemon prio=6 os_prio=0 tid=0x0000000023d34800 nid=0x1518 waiting on condition [0x0000000027a0e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af90b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-7" #141 daemon prio=6 os_prio=0 tid=0x0000000023d34000 nid=0x2128 waiting on condition [0x000000002830e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9258> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-6" #140 daemon prio=6 os_prio=0 tid=0x0000000023d33000 nid=0xbac waiting on condition [0x000000002adee000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af93f8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-5" #139 daemon prio=6 os_prio=0 tid=0x0000000023d32800 nid=0x118 waiting on condition [0x000000002acef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxCachedThreadScheduler-3" #138 daemon prio=5 os_prio=0 tid=0x0000000023d31800 nid=0x200c waiting on condition [0x000000002aadf000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f3a21a50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-4" #137 daemon prio=6 os_prio=0 tid=0x0000000023d31000 nid=0x23a0 waiting on condition [0x0000000022baf000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9738> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-3" #136 daemon prio=6 os_prio=0 tid=0x0000000023d30000 nid=0x710 waiting on condition [0x000000002a8af000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af98d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxCachedWorkerPoolEvictor-1" #133 daemon prio=6 os_prio=0 tid=0x000000001a067000 nid=0x410 waiting on condition [0x000000002404e000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f3922508> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TimerQueue" #132 daemon prio=5 os_prio=0 tid=0x000000001a065800 nid=0x15f8 waiting on condition [0x000000002a1ef000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2cb04b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.DelayQueue.take(Unknown Source)
at javax.swing.TimerQueue.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-2" #131 daemon prio=5 os_prio=0 tid=0x000000002103f800 nid=0xbc0 waiting on condition [0x000000001e2be000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2ae0de8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-1" #130 daemon prio=5 os_prio=0 tid=0x000000001a066000 nid=0x1444 waiting on condition [0x0000000021fee000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2ae1820> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TxCleanupService,CMD-Datacache,local" #128 daemon prio=5 os_prio=0 tid=0x0000000021041000 nid=0xcb0 waiting on condition [0x000000002865f000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27bf5e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Scheduled-eviction-thread-0" #127 daemon prio=1 os_prio=-2 tid=0x0000000021040800 nid=0x494 waiting on condition [0x000000002840f000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27a2dd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TxCleanupService,CMD-Filtercache,local" #126 daemon prio=5 os_prio=0 tid=0x000000002103f000 nid=0x17bc waiting on condition [0x0000000027dae000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27bfb88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"com.google.inject.internal.util.$Finalizer" #65 daemon prio=5 os_prio=0 tid=0x000000002103e000 nid=0x91c in Object.wait() [0x000000001b47e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f1ec4858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)
"AWT-EventQueue-2" #56 prio=6 os_prio=0 tid=0x000000001a069000 nid=0xa88 in Object.wait() [0x00000000225ab000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.runUpdateNow(Unknown Source)
- locked <0x00000000f13a9008> (a java.lang.Object)
at sun.java2d.d3d.D3DBlitLoops.Blit(Unknown Source)
at sun.java2d.d3d.D3DSwToSurfaceBlit.Blit(Unknown Source)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.swing.CachedPainter.paintImage(Unknown Source)
at sun.swing.CachedPainter.paint0(Unknown Source)
at sun.swing.CachedPainter.paint(Unknown Source)
- locked <0x00000000f0280a28> (a java.lang.Class for sun.swing.CachedPainter)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkinRaw(Unknown Source)
at com.sun.java.swing.plaf.windows.AnimationController.paintSkin(Unknown Source)
- locked <0x00000000f3923798> (a com.sun.java.swing.plaf.windows.AnimationController)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsButtonUI.paintXPButtonBackground(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsButtonUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at kam.rocky.view.swing.CheckThreadViolationRepaintManager.paintDirtyRegions(CheckThreadViolationRepaintManager.java:229)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at kam.rocky.view.swing.RockyEventQueue.dispatchEvent(RockyEventQueue.java:79)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"D3D Screen Updater" #51 daemon prio=7 os_prio=1 tid=0x000000001a06d000 nid=0x188c waiting for monitor entry [0x00000000252de000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Window.getOpacity(Unknown Source)
- waiting to lock <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at sun.awt.SunToolkit.isContainingTopLevelTranslucent(Unknown Source)
at sun.awt.windows.WComponentPeer.isAccelCapable(Unknown Source)
at sun.java2d.d3d.D3DSurfaceData$D3DWindowSurfaceData.restoreSurface(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.validate(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-1" #45 prio=6 os_prio=0 tid=0x000000001a06c000 nid=0x19dc in Object.wait() [0x0000000022f4c000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.runUpdateNow(Unknown Source)
- locked <0x00000000f13a9008> (a java.lang.Object)
at sun.java2d.d3d.D3DBlitLoops.IsoBlit(Unknown Source)
at sun.java2d.d3d.D3DRTTSurfaceToSurfaceBlit.Blit(Unknown Source)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-Shutdown" #46 prio=5 os_prio=0 tid=0x000000001a06b800 nid=0xfb0 in Object.wait() [0x0000000022a6f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x00000000f0145298> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"CacheCleanUpThread" #28 daemon prio=5 os_prio=0 tid=0x000000001a064000 nid=0x15f4 in Object.wait() [0x000000001d8cf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x00000000f014de20> (a com.sun.deploy.cache.CleanupThread)
"TimerQueue" #27 daemon prio=5 os_prio=0 tid=0x000000001a063000 nid=0x1c60 waiting on condition [0x000000001d40f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f014dbd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.DelayQueue.take(Unknown Source)
at javax.swing.TimerQueue.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"CacheMemoryCleanUpThread" #24 daemon prio=5 os_prio=0 tid=0x000000001a062000 nid=0x22c4 in Object.wait() [0x000000001d27f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f01f6e78> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
"MemoryCache-DelayedCleanup" #25 daemon prio=5 os_prio=0 tid=0x000000001a061800 nid=0x17fc in Object.wait() [0x000000001d16f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.util.TimerThread.mainLoop(Unknown Source)
- locked <0x00000000f014e298> (a java.util.TaskQueue)
at java.util.TimerThread.run(Unknown Source)
"ConsoleTraceListener" #23 daemon prio=5 os_prio=0 tid=0x000000001a061000 nid=0xaec in Object.wait() [0x000000001b1af000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
- locked <0x00000000f014e758> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
"DestroyJavaVM" #20 prio=5 os_prio=0 tid=0x0000000000290800 nid=0xfdc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Javaws Secure Thread" #18 daemon prio=5 os_prio=0 tid=0x0000000019f7e000 nid=0x2144 in Object.wait() [0x000000001b32f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)
- locked <0x00000000f014eaa0> (a java.lang.Object)
"AWT-Windows" #15 daemon prio=6 os_prio=0 tid=0x0000000019f3c800 nid=0x179c runnable [0x000000000218e000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
"Java2D Disposer" #13 daemon prio=10 os_prio=2 tid=0x0000000015099000 nid=0x2114 in Object.wait() [0x000000001ad4f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f0138ee0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" #11 daemon prio=5 os_prio=0 tid=0x0000000014ecb800 nid=0x13d4 in Object.wait() [0x0000000018f4e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x00000000f0007468> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x0000000014eb0000 nid=0x10bc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x0000000014e1f800 nid=0x212c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000014e1e800 nid=0xcdc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000014e13800 nid=0x9dc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000014e0b800 nid=0x1b88 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000014e08800 nid=0x1ee4 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000014e07800 nid=0x17f0 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000013c49800 nid=0xdf4 in Object.wait() [0x000000001633f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f01798a0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000013c43000 nid=0xf54 in Object.wait() [0x00000000160ae000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x00000000f01c42e8> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=2 tid=0x0000000013c3b000 nid=0x1354 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000002a4800 nid=0x18a0 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000002a6000 nid=0x1b38 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000002a8800 nid=0x1d84 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000002aa000 nid=0x1854 runnable
"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00000000002af800 nid=0x1048 runnable
"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00000000002b0800 nid=0x1f94 runnable
"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00000000002b2000 nid=0x1d00 runnable
"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00000000002b3000 nid=0x1450 runnable
"VM Periodic Task Thread" os_prio=2 tid=0x0000000014ec3800 nid=0x1938 waiting on condition
JNI global references: 4245
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
build.gradle:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'de.gliderpilot.d3d.D3DDeadlockMain'
repositories {
mavenCentral()
}
dependencies {
compile 'org.divxdede:jbusycomponent:1.2.3'
}
====
package de.gliderpilot.d3d;
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import org.divxdede.swing.busy.JBusyComponent;
public class D3DDeadlockMain
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
createFrames();
}
});
}
private static void createFrames()
{
RepaintManager.setCurrentManager(new DelegatingRepaintManager());
JFrame frame = new JFrame("D3D child");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = frame.getContentPane();
for (int j = 0; j < 10; j++)
{
JPanel panel = new JPanel();
container.setLayout(new BorderLayout());
container.add(new JBusyComponent<>(panel), BorderLayout.CENTER);
container = panel;
}
container.setLayout(new FlowLayout());
for (int j = 0; j < 10; j++)
{
container.add(new JBusyComponent<>(new JTextField("Search")));
container.add(new JBusyComponent<>(new JButton("Button")));
}
frame.setSize(800, 600);
frame.setVisible(true);
}
private static class DelegatingRepaintManager extends RepaintManager
{
RepaintManager delegate = new RepaintManager();
@Override
public int hashCode()
{
return delegate.hashCode();
}
@Override
public boolean equals(Object obj)
{
return delegate.equals(obj);
}
@Override
public void addInvalidComponent(JComponent invalidComponent)
{
delegate.addInvalidComponent(invalidComponent);
}
@Override
public void removeInvalidComponent(JComponent component)
{
delegate.removeInvalidComponent(component);
}
@Override
public void addDirtyRegion(JComponent c, int x, int y, int w, int h)
{
delegate.addDirtyRegion(c, x, y, w, h);
}
@Override
public void addDirtyRegion(Window window, int x, int y, int w, int h)
{
delegate.addDirtyRegion(window, x, y, w, h);
}
@Override
public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
{
delegate.addDirtyRegion(applet, x, y, w, h);
}
@Override
public Rectangle getDirtyRegion(JComponent aComponent)
{
return delegate.getDirtyRegion(aComponent);
}
@Override
public void markCompletelyDirty(JComponent aComponent)
{
delegate.markCompletelyDirty(aComponent);
}
@Override
public void markCompletelyClean(JComponent aComponent)
{
delegate.markCompletelyClean(aComponent);
}
@Override
public boolean isCompletelyDirty(JComponent aComponent)
{
return delegate.isCompletelyDirty(aComponent);
}
@Override
public void validateInvalidComponents()
{
delegate.validateInvalidComponents();
}
@Override
public void paintDirtyRegions()
{
delegate.paintDirtyRegions();
}
@Override
public String toString()
{
return delegate.toString();
}
@Override
public Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
{
return delegate.getOffscreenBuffer(c, proposedWidth, proposedHeight);
}
@Override
public Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
{
return delegate.getVolatileOffscreenBuffer(c, proposedWidth, proposedHeight);
}
@Override
public void setDoubleBufferMaximumSize(Dimension d)
{
delegate.setDoubleBufferMaximumSize(d);
}
@Override
public Dimension getDoubleBufferMaximumSize()
{
return delegate.getDoubleBufferMaximumSize();
}
@Override
public void setDoubleBufferingEnabled(boolean aFlag)
{
delegate.setDoubleBufferingEnabled(aFlag);
}
@Override
public boolean isDoubleBufferingEnabled()
{
return delegate.isDoubleBufferingEnabled();
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
disable d3d with -Dsun.java2d.d3d=false
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
When locking windows and unlocking it again, our swing application does hang very often. The stacktrace (retrieved with jstack) does indicate a deadlock between the "D3D Screen Updater" thread and AWT-Event-Queue.
This might be a duplicate of http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8005111 and/or http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6647449.
I was able to break the problem down to the combination of two components:
Usage of JBusyComponent and a custom RepaintManager.
In our application we use CheckThreadViolationRepaintManager, but I was further able to reduce it to only *a* custom RepaintManager, although it is important, that this RepaintManager does have a delegate.
I was not able to reproduce it when not using JBusyComponent.
D3D must be enabled to reproduce the bug, i.e. there must be a "D3D Screen Updater" thread.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Start the application. Then do the following in rapid order:
- press Ctrl+Alt+Del (the lock screen appears where you can choose between locking the computer, switch users, change password, etc.)
- press Esc (cancels the lock screen, back to windows, no password entry needed)
The easiest way to start the application is to use gradle (I used gradle 1.3) and the provided buildscript and execute
gradle run
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The application should be responsive.
ACTUAL -
After a couple(10 or so) of Ctrl+Alt+Del, Esc repetitions the application does hang. Most of the time, the application does recover after some time (~30s to 1min).
I will attach the relevant stacktrace.
But our real application does most of the time not recover. The stacktrace is different in that case. I was not able to reproduce this with this minimal application, but I will try to attach the stacktrace of this real deadlock as well.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
deadlock-with-recovery.log:
2015-03-27 15:28:44
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
"D3D Screen Updater" #20 daemon prio=7 os_prio=1 tid=0x000000001f9fa000 nid=0x16b0 in Object.wait() [0x0000000026dff000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.java2d.d3d.D3DScreenUpdateManager.run(D3DScreenUpdateManager.java:423)
- locked <0x000000076ee10178> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"TimerQueue" #18 daemon prio=5 os_prio=0 tid=0x000000001f87d800 nid=0x1014 waiting on condition [0x0000000025f2f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000076ee00730> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
at javax.swing.TimerQueue.run(TimerQueue.java:171)
at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" #16 prio=5 os_prio=0 tid=0x0000000001d9e800 nid=0x2284 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" #15 prio=6 os_prio=0 tid=0x000000001f70a000 nid=0x23cc runnable [0x0000000020628000]
java.lang.Thread.State: RUNNABLE
at sun.java2d.d3d.D3DRenderQueue.flushBuffer(Native Method)
at sun.java2d.d3d.D3DRenderQueue.flushBuffer(D3DRenderQueue.java:152)
at sun.java2d.d3d.D3DRenderQueue.flushAndInvokeNow(D3DRenderQueue.java:142)
at sun.java2d.d3d.D3DSurfaceData$D3DDataBufferNative.getElem(D3DSurfaceData.java:448)
at sun.awt.image.DataBufferNative.getElem(DataBufferNative.java:75)
at java.awt.image.DataBuffer.getElem(DataBuffer.java:329)
at java.awt.image.SinglePixelPackedSampleModel.getDataElements(SinglePixelPackedSampleModel.java:409)
at java.awt.image.Raster.getDataElements(Raster.java:1466)
at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(CustomComponent.java:144)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:560)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:541)
at sun.java2d.loops.MaskBlit$General.MaskBlit(MaskBlit.java:189)
- locked <0x000000076ee186a8> (a sun.java2d.loops.MaskBlit$General)
at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Blit.java:204)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:959)
at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:577)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1014)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:186)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3318)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3296)
at org.jdesktop.jxlayer.plaf.AbstractBufferedLayerUI.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at org.jdesktop.jxlayer.plaf.ext.LockableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at org.jdesktop.jxlayer.JXLayer.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
- locked <0x000000076ee18b78> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(JComponent.java:1065)
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:1973)
at java.awt.Window.paint(Window.java:3912)
at javax.swing.RepaintManager$4.run(RepaintManager.java:835)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at de.gliderpilot.d3d.CheckThreadViolationRepaintManager.paintDirtyRegions(CheckThreadViolationRepaintManager.java:214)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
"AWT-Windows" #13 daemon prio=6 os_prio=0 tid=0x000000001f705800 nid=0x1adc runnable [0x00000000202fe000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(WToolkit.java:306)
at java.lang.Thread.run(Thread.java:745)
"AWT-Shutdown" #12 prio=5 os_prio=0 tid=0x000000001f704800 nid=0x19dc in Object.wait() [0x00000000201ce000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000076ee00aa0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
- locked <0x000000076ee00aa0> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:745)
"Java2D Disposer" #11 daemon prio=10 os_prio=2 tid=0x000000001f704000 nid=0x1084 in Object.wait() [0x000000002001e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x000000076ee00c50> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at sun.java2d.Disposer.run(Disposer.java:148)
at java.lang.Thread.run(Thread.java:745)
"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x000000001d72a800 nid=0x21d8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x000000001d6e7800 nid=0x1280 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000001d6e2800 nid=0x1cc0 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000000001d6db800 nid=0x178 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000001d6d3800 nid=0x22bc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000001d6d2800 nid=0x22ac waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000001d6cf800 nid=0xf5c runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000001c731800 nid=0x1718 in Object.wait() [0x000000001ea1f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000076ee01a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x000000076ee01a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000001c72a800 nid=0x20a8 in Object.wait() [0x000000001e8ef000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x000000076ee01c60> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=2 tid=0x000000001d681800 nid=0x1f70 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x000000000218e000 nid=0x1948 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x000000000218f800 nid=0x7bc runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002191000 nid=0x20e0 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002192800 nid=0xc10 runnable
"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x0000000002196000 nid=0x1764 runnable
"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x0000000002199000 nid=0x928 runnable
"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x000000000219a000 nid=0x14fc runnable
"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x000000000219b800 nid=0x1e80 runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000000001d72b000 nid=0x1f8c waiting on condition
JNI global references: 438
=========
deadlock-without-recovery.log:
2015-03-27 10:21:41
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):
"DataRequest: ItemTable" #214 daemon prio=6 os_prio=0 tid=0x000000002035c800 nid=0xe70 waiting on condition [0x00000000253de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f9826968> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Timer-2" #212 daemon prio=6 os_prio=0 tid=0x000000002035b000 nid=0x1dc4 in Object.wait() [0x000000001b91e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x00000000fafb7068> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at kam.janet.gui.table.chain.chainelements.GuiTableModel.canUpdate(GuiTableModel.java:1361)
at kam.janet.gui.table.chain.Chain.informUpdatesAvailable(Chain.java:242)
at kam.janet.gui.table.chain.communication.AbstractTableChainCommunicationElement.informUpdatesAvailable(AbstractTableChainCommunicationElement.java:126)
at kam.janet.gui.table.chain.communication.TableServiceRequest.submitRequest(TableServiceRequest.java:343)
at kam.janet.gui.table.chain.communication.TableServiceRequest.updateRequest(TableServiceRequest.java:243)
at kam.rocky.janet.model.TableChainModel.refresh(TableChainModel.java:204)
at kam.rocky.janet.communication.TableChainCommunicator.refresh(TableChainCommunicator.java:75)
at kam.rocky.communicator.BaseCommunicator$PollingTask.run(BaseCommunicator.java:247)
- locked <0x00000000f979e3b8> (a kam.rocky.communicator.BaseCommunicator$PollingTask)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
"tyrus-1-thread-10" #167 daemon prio=5 os_prio=0 tid=0x000000001a068800 nid=0x10dc waiting on condition [0x000000001ac1f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-9" #164 daemon prio=5 os_prio=0 tid=0x0000000020637800 nid=0x23f8 waiting on condition [0x000000002ed8e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-8" #162 daemon prio=5 os_prio=0 tid=0x000000001a071800 nid=0x169c waiting on condition [0x000000002c88f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-7" #158 daemon prio=5 os_prio=0 tid=0x0000000020637000 nid=0xba8 waiting on condition [0x000000001cccf000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-6" #157 daemon prio=5 os_prio=0 tid=0x0000000020636000 nid=0x3b0 waiting on condition [0x000000001cb5e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-5" #153 daemon prio=5 os_prio=0 tid=0x0000000020633000 nid=0x96c waiting on condition [0x000000002bc3f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Thread-93" #152 daemon prio=6 os_prio=0 tid=0x0000000020632800 nid=0x1624 runnable [0x000000002ba1f000]
java.lang.Thread.State: RUNNABLE
at sun.print.Win32PrintServiceLookup.notifyPrinterChange(Native Method)
at sun.print.Win32PrintServiceLookup.access$100(Unknown Source)
at sun.print.Win32PrintServiceLookup$PrinterChangeListener.run(Unknown Source)
"tyrus-1-thread-4" #151 daemon prio=5 os_prio=0 tid=0x0000000020631800 nid=0x1f14 waiting on condition [0x000000002b8fe000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Rocky Timer" #150 daemon prio=6 os_prio=0 tid=0x0000000023d35800 nid=0x23f0 in Object.wait() [0x000000002b59f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
- locked <0x00000000fb007958> (a java.awt.EventQueue$1AWTInvocationLock)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at kam.rocky.view.swing.SwingViewFactory.execSync(SwingViewFactory.java:1269)
at kam.rocky.janet.base.JanetSession$PingingTask.run(JanetSession.java:352)
- locked <0x00000000f60be7a0> (a kam.rocky.janet.base.JanetSession$PingingTask)
at kam.rocky.util.RockyTimerTask$1.run(RockyTimerTask.java:45)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
"tyrus-1-thread-3" #148 daemon prio=5 os_prio=0 tid=0x000000001a070000 nid=0x21cc waiting on condition [0x0000000024cef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-2" #147 daemon prio=5 os_prio=0 tid=0x000000001a070800 nid=0x1a38 waiting on condition [0x000000002abee000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"tyrus-1-thread-1" #146 daemon prio=5 os_prio=0 tid=0x000000001a06d800 nid=0x1f38 waiting on condition [0x000000002552e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f6053988> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
" tyrus-jdk-client-1" #144 daemon prio=5 os_prio=0 tid=0x000000001a06f000 nid=0x10a8 runnable [0x00000000228de000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
at sun.nio.ch.Iocp.access$300(Unknown Source)
at sun.nio.ch.Iocp$EventHandlerTask.run(Unknown Source)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"anInnocuousThread" #143 daemon prio=6 os_prio=0 tid=0x000000001a06e800 nid=0x1bb8 runnable [0x000000002241f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
at sun.nio.ch.Iocp.access$300(Unknown Source)
at sun.nio.ch.Iocp$EventHandlerTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.misc.InnocuousThread.run(Unknown Source)
"RxComputationThreadPool-8" #142 daemon prio=6 os_prio=0 tid=0x0000000023d34800 nid=0x1518 waiting on condition [0x0000000027a0e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af90b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-7" #141 daemon prio=6 os_prio=0 tid=0x0000000023d34000 nid=0x2128 waiting on condition [0x000000002830e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9258> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-6" #140 daemon prio=6 os_prio=0 tid=0x0000000023d33000 nid=0xbac waiting on condition [0x000000002adee000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af93f8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-5" #139 daemon prio=6 os_prio=0 tid=0x0000000023d32800 nid=0x118 waiting on condition [0x000000002acef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxCachedThreadScheduler-3" #138 daemon prio=5 os_prio=0 tid=0x0000000023d31800 nid=0x200c waiting on condition [0x000000002aadf000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f3a21a50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-4" #137 daemon prio=6 os_prio=0 tid=0x0000000023d31000 nid=0x23a0 waiting on condition [0x0000000022baf000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af9738> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-3" #136 daemon prio=6 os_prio=0 tid=0x0000000023d30000 nid=0x710 waiting on condition [0x000000002a8af000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2af98d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxCachedWorkerPoolEvictor-1" #133 daemon prio=6 os_prio=0 tid=0x000000001a067000 nid=0x410 waiting on condition [0x000000002404e000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f3922508> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TimerQueue" #132 daemon prio=5 os_prio=0 tid=0x000000001a065800 nid=0x15f8 waiting on condition [0x000000002a1ef000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2cb04b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.DelayQueue.take(Unknown Source)
at javax.swing.TimerQueue.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-2" #131 daemon prio=5 os_prio=0 tid=0x000000002103f800 nid=0xbc0 waiting on condition [0x000000001e2be000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2ae0de8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"RxComputationThreadPool-1" #130 daemon prio=5 os_prio=0 tid=0x000000001a066000 nid=0x1444 waiting on condition [0x0000000021fee000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f2ae1820> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TxCleanupService,CMD-Datacache,local" #128 daemon prio=5 os_prio=0 tid=0x0000000021041000 nid=0xcb0 waiting on condition [0x000000002865f000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27bf5e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Scheduled-eviction-thread-0" #127 daemon prio=1 os_prio=-2 tid=0x0000000021040800 nid=0x494 waiting on condition [0x000000002840f000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27a2dd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"TxCleanupService,CMD-Filtercache,local" #126 daemon prio=5 os_prio=0 tid=0x000000002103f000 nid=0x17bc waiting on condition [0x0000000027dae000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f27bfb88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"com.google.inject.internal.util.$Finalizer" #65 daemon prio=5 os_prio=0 tid=0x000000002103e000 nid=0x91c in Object.wait() [0x000000001b47e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f1ec4858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)
"AWT-EventQueue-2" #56 prio=6 os_prio=0 tid=0x000000001a069000 nid=0xa88 in Object.wait() [0x00000000225ab000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.runUpdateNow(Unknown Source)
- locked <0x00000000f13a9008> (a java.lang.Object)
at sun.java2d.d3d.D3DBlitLoops.Blit(Unknown Source)
at sun.java2d.d3d.D3DSwToSurfaceBlit.Blit(Unknown Source)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.swing.CachedPainter.paintImage(Unknown Source)
at sun.swing.CachedPainter.paint0(Unknown Source)
at sun.swing.CachedPainter.paint(Unknown Source)
- locked <0x00000000f0280a28> (a java.lang.Class for sun.swing.CachedPainter)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkinRaw(Unknown Source)
at com.sun.java.swing.plaf.windows.AnimationController.paintSkin(Unknown Source)
- locked <0x00000000f3923798> (a com.sun.java.swing.plaf.windows.AnimationController)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsButtonUI.paintXPButtonBackground(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsButtonUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
- locked <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at kam.rocky.view.swing.CheckThreadViolationRepaintManager.paintDirtyRegions(CheckThreadViolationRepaintManager.java:229)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at kam.rocky.view.swing.RockyEventQueue.dispatchEvent(RockyEventQueue.java:79)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"D3D Screen Updater" #51 daemon prio=7 os_prio=1 tid=0x000000001a06d000 nid=0x188c waiting for monitor entry [0x00000000252de000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Window.getOpacity(Unknown Source)
- waiting to lock <0x00000000f0003440> (a java.awt.Component$AWTTreeLock)
at sun.awt.SunToolkit.isContainingTopLevelTranslucent(Unknown Source)
at sun.awt.windows.WComponentPeer.isAccelCapable(Unknown Source)
at sun.java2d.d3d.D3DSurfaceData$D3DWindowSurfaceData.restoreSurface(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.validate(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-1" #45 prio=6 os_prio=0 tid=0x000000001a06c000 nid=0x19dc in Object.wait() [0x0000000022f4c000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.java2d.d3d.D3DScreenUpdateManager.runUpdateNow(Unknown Source)
- locked <0x00000000f13a9008> (a java.lang.Object)
at sun.java2d.d3d.D3DBlitLoops.IsoBlit(Unknown Source)
at sun.java2d.d3d.D3DRTTSurfaceToSurfaceBlit.Blit(Unknown Source)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-Shutdown" #46 prio=5 os_prio=0 tid=0x000000001a06b800 nid=0xfb0 in Object.wait() [0x0000000022a6f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x00000000f0145298> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"CacheCleanUpThread" #28 daemon prio=5 os_prio=0 tid=0x000000001a064000 nid=0x15f4 in Object.wait() [0x000000001d8cf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x00000000f014de20> (a com.sun.deploy.cache.CleanupThread)
"TimerQueue" #27 daemon prio=5 os_prio=0 tid=0x000000001a063000 nid=0x1c60 waiting on condition [0x000000001d40f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f014dbd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
at java.util.concurrent.DelayQueue.take(Unknown Source)
at javax.swing.TimerQueue.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"CacheMemoryCleanUpThread" #24 daemon prio=5 os_prio=0 tid=0x000000001a062000 nid=0x22c4 in Object.wait() [0x000000001d27f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f01f6e78> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
"MemoryCache-DelayedCleanup" #25 daemon prio=5 os_prio=0 tid=0x000000001a061800 nid=0x17fc in Object.wait() [0x000000001d16f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.util.TimerThread.mainLoop(Unknown Source)
- locked <0x00000000f014e298> (a java.util.TaskQueue)
at java.util.TimerThread.run(Unknown Source)
"ConsoleTraceListener" #23 daemon prio=5 os_prio=0 tid=0x000000001a061000 nid=0xaec in Object.wait() [0x000000001b1af000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
- locked <0x00000000f014e758> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
"DestroyJavaVM" #20 prio=5 os_prio=0 tid=0x0000000000290800 nid=0xfdc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Javaws Secure Thread" #18 daemon prio=5 os_prio=0 tid=0x0000000019f7e000 nid=0x2144 in Object.wait() [0x000000001b32f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)
- locked <0x00000000f014eaa0> (a java.lang.Object)
"AWT-Windows" #15 daemon prio=6 os_prio=0 tid=0x0000000019f3c800 nid=0x179c runnable [0x000000000218e000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
"Java2D Disposer" #13 daemon prio=10 os_prio=2 tid=0x0000000015099000 nid=0x2114 in Object.wait() [0x000000001ad4f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f0138ee0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" #11 daemon prio=5 os_prio=0 tid=0x0000000014ecb800 nid=0x13d4 in Object.wait() [0x0000000018f4e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x00000000f0007468> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x0000000014eb0000 nid=0x10bc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x0000000014e1f800 nid=0x212c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000014e1e800 nid=0xcdc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000014e13800 nid=0x9dc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000014e0b800 nid=0x1b88 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000014e08800 nid=0x1ee4 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000014e07800 nid=0x17f0 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000013c49800 nid=0xdf4 in Object.wait() [0x000000001633f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x00000000f01798a0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000013c43000 nid=0xf54 in Object.wait() [0x00000000160ae000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x00000000f01c42e8> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=2 tid=0x0000000013c3b000 nid=0x1354 runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000002a4800 nid=0x18a0 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000002a6000 nid=0x1b38 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000002a8800 nid=0x1d84 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000002aa000 nid=0x1854 runnable
"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00000000002af800 nid=0x1048 runnable
"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00000000002b0800 nid=0x1f94 runnable
"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00000000002b2000 nid=0x1d00 runnable
"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00000000002b3000 nid=0x1450 runnable
"VM Periodic Task Thread" os_prio=2 tid=0x0000000014ec3800 nid=0x1938 waiting on condition
JNI global references: 4245
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
build.gradle:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'de.gliderpilot.d3d.D3DDeadlockMain'
repositories {
mavenCentral()
}
dependencies {
compile 'org.divxdede:jbusycomponent:1.2.3'
}
====
package de.gliderpilot.d3d;
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import org.divxdede.swing.busy.JBusyComponent;
public class D3DDeadlockMain
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
createFrames();
}
});
}
private static void createFrames()
{
RepaintManager.setCurrentManager(new DelegatingRepaintManager());
JFrame frame = new JFrame("D3D child");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = frame.getContentPane();
for (int j = 0; j < 10; j++)
{
JPanel panel = new JPanel();
container.setLayout(new BorderLayout());
container.add(new JBusyComponent<>(panel), BorderLayout.CENTER);
container = panel;
}
container.setLayout(new FlowLayout());
for (int j = 0; j < 10; j++)
{
container.add(new JBusyComponent<>(new JTextField("Search")));
container.add(new JBusyComponent<>(new JButton("Button")));
}
frame.setSize(800, 600);
frame.setVisible(true);
}
private static class DelegatingRepaintManager extends RepaintManager
{
RepaintManager delegate = new RepaintManager();
@Override
public int hashCode()
{
return delegate.hashCode();
}
@Override
public boolean equals(Object obj)
{
return delegate.equals(obj);
}
@Override
public void addInvalidComponent(JComponent invalidComponent)
{
delegate.addInvalidComponent(invalidComponent);
}
@Override
public void removeInvalidComponent(JComponent component)
{
delegate.removeInvalidComponent(component);
}
@Override
public void addDirtyRegion(JComponent c, int x, int y, int w, int h)
{
delegate.addDirtyRegion(c, x, y, w, h);
}
@Override
public void addDirtyRegion(Window window, int x, int y, int w, int h)
{
delegate.addDirtyRegion(window, x, y, w, h);
}
@Override
public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
{
delegate.addDirtyRegion(applet, x, y, w, h);
}
@Override
public Rectangle getDirtyRegion(JComponent aComponent)
{
return delegate.getDirtyRegion(aComponent);
}
@Override
public void markCompletelyDirty(JComponent aComponent)
{
delegate.markCompletelyDirty(aComponent);
}
@Override
public void markCompletelyClean(JComponent aComponent)
{
delegate.markCompletelyClean(aComponent);
}
@Override
public boolean isCompletelyDirty(JComponent aComponent)
{
return delegate.isCompletelyDirty(aComponent);
}
@Override
public void validateInvalidComponents()
{
delegate.validateInvalidComponents();
}
@Override
public void paintDirtyRegions()
{
delegate.paintDirtyRegions();
}
@Override
public String toString()
{
return delegate.toString();
}
@Override
public Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
{
return delegate.getOffscreenBuffer(c, proposedWidth, proposedHeight);
}
@Override
public Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
{
return delegate.getVolatileOffscreenBuffer(c, proposedWidth, proposedHeight);
}
@Override
public void setDoubleBufferMaximumSize(Dimension d)
{
delegate.setDoubleBufferMaximumSize(d);
}
@Override
public Dimension getDoubleBufferMaximumSize()
{
return delegate.getDoubleBufferMaximumSize();
}
@Override
public void setDoubleBufferingEnabled(boolean aFlag)
{
delegate.setDoubleBufferingEnabled(aFlag);
}
@Override
public boolean isDoubleBufferingEnabled()
{
return delegate.isDoubleBufferingEnabled();
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
disable d3d with -Dsun.java2d.d3d=false