In a stress test with customer's application creating and closing multiple applets, the swing deadlock is observed with J2SE 5.0 FCS. Two AWT EventQueue threads are deadlocked. The full java thread dump is also attached to this bug report. Deadlock Information (see attachments for full thread dump): Found one Java-level deadlock: ============================= "AWT-EventQueue-4": waiting to lock monitor 0x06b231dc (object 0x1170ad00, a javax.swing.plaf.meta l.MetalUtils$GradientPainter), which is held by "AWT-EventQueue-3472" "AWT-EventQueue-3472": waiting to lock monitor 0x02d79b44 (object 0x109e7c38, a java.awt.Component$AW TTreeLock), which is held by "AWT-EventQueue-4" Java stack information for the threads listed above: =================================================== "AWT-EventQueue-4": at javax.swing.plaf.metal.MetalUtils$GradientPainter.paint(MetalUtils.ja va:239) - waiting to lock <0x1170ad00> (a javax.swing.plaf.metal.MetalUtils$Grad ientPainter) at javax.swing.plaf.metal.MetalUtils.drawGradient(MetalUtils.java:203) at javax.swing.plaf.metal.MetalScrollBarUI.oceanPaintThumb(MetalScrollBa rUI.java:344) at javax.swing.plaf.metal.MetalScrollBarUI.paintThumb(MetalScrollBarUI.j ava:212) at javax.swing.plaf.basic.BasicScrollBarUI.paint(BasicScrollBarUI.java:3 64) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142) at javax.swing.JComponent.paintComponent(JComponent.java:740) at javax.swing.JComponent.paint(JComponent.java:1003) at javax.swing.JComponent.paintChildren(JComponent.java:840) - locked <0x109e7c38> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1012) at javax.swing.JComponent.paintChildren(JComponent.java:840) - locked <0x109e7c38> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4937) at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883) at javax.swing.JComponent.paint(JComponent.java:993) at javax.swing.JComponent.paintChildren(JComponent.java:840) - locked <0x109e7c38> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1012) at javax.swing.JViewport.paint(JViewport.java:728) at javax.swing.JComponent.paintChildren(JComponent.java:840) - locked <0x109e7c38> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1012) at jp.co.yokogawa.Stardom.UD.client.Message.CSDUDGRMessage.draw(CSDUDGRM essage.java:609) at jp.co.yokogawa.Stardom.UD.client.Message.CSDUDGrMsgAlarm.draw(CSDUDGr MsgAlarm.java:429) at jp.co.yokogawa.Stardom.UD.client.GrObjWnd.CSDUDPrimitiveList.allDraw( CSDUDPrimitiveList.java:141) at jp.co.yokogawa.Stardom.UD.client.GrObjWnd.CSDUDGrObjWnd.paint(CSDUDGr ObjWnd.java:713) at jp.co.yokogawa.Stardom.UD.client.GrObjWnd.CSDUDGrObjWnd.update(CSDUDG rObjWnd.java:681) at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239) at sun.awt.RepaintArea.paint(RepaintArea.java:216) at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:254) at java.awt.Component.dispatchEventImpl(Component.java:4031) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) "AWT-EventQueue-3472": at java.awt.Component.getGraphicsConfiguration(Component.java:814) - waiting to lock <0x109e7c38> (a java.awt.Component$AWTTreeLock) at javax.swing.plaf.metal.CachedPainter.paint(CachedPainter.java:68) at javax.swing.plaf.metal.MetalUtils$GradientPainter.paint(MetalUtils.ja va:249) - locked <0x1170ad00> (a javax.swing.plaf.metal.MetalUtils$GradientPaint er) at javax.swing.plaf.metal.MetalUtils.drawGradient(MetalUtils.java:203) at javax.swing.plaf.metal.MetalButtonUI.update(MetalButtonUI.java:110) at javax.swing.JComponent.paintComponent(JComponent.java:740) at javax.swing.JComponent.paint(JComponent.java:1003) at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930) at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883) at javax.swing.JComponent._paintImmediately(JComponent.java:4826) at javax.swing.JComponent.paintImmediately(JComponent.java:4633) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(System EventQueueUtilities.java:114) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:153) at java.awt.Dialog$1.run(Dialog.java:515) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:153) at java.awt.Dialog$1.run(Dialog.java:515) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:153) at java.awt.Dialog$1.run(Dialog.java:515) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:153) at java.awt.Dialog$1.run(Dialog.java:515) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Found 1 deadlock. ###@###.### 11/3/04 22:15 GMT
|