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

Deadlock between AWTEventQueue of Application and Webstart-Console

XMLWordPrintable

      FULL PRODUCT VERSION :
      java version " 1.7.0_25 "
      Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
      Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows
      Version 6.1 (Build 7601: Service Pack 1)

      A DESCRIPTION OF THE PROBLEM :
      This bug is hard to reproduce. It happened with our swing based application when started using webstart with activated java console window.

      After startup of our application we opened a few windows and a modal dialog. Then we left the pc untouched for an hour.

      After this time the application was not responding.

      I found no bug report for this deadlock, but I found http://stackoverflow.com/questions/16818863/multiple-event-dispatch-threads-causing-deadlock-in-java-web-start-app


      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Found one Java-level deadlock:
      =============================
       " AWT-EventQueue-2 " :
        waiting to lock monitor 0x0c73609c (object 0x25bf29c8, a java.awt.Component$AWTTreeLock),
        which is held by " AWT-EventQueue-1 "
       " AWT-EventQueue-1 " :
        waiting to lock monitor 0x060af91c (object 0x25bee6c0, a java.lang.StringBuilder),
        which is held by " AWT-EventQueue-2 "

      Java stack information for the threads listed above:
      ===================================================
       " AWT-EventQueue-2 " :
      at java.awt.Window.getOpacity(Unknown Source)
      - waiting to lock <0x25bf29c8> (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.createGraphics(Unknown Source)
      at sun.awt.windows.WComponentPeer.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JDialog.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at java.awt.Component.getGraphics(Unknown Source)
      at javax.swing.JComponent.getGraphics(Unknown Source)
      at javax.swing.JComponent.safelyGetGraphics(Unknown Source)
      - locked <0x25bee6c0> (a java.lang.StringBuilder)
      at javax.swing.JComponent._paintImmediately(Unknown Source)
      at javax.swing.JComponent.paintImmediately(Unknown Source)
      at javax.swing.RepaintManager$3.run(Unknown Source)
      at javax.swing.RepaintManager$3.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$1000(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$200(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:82)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.WaitDispatchSupport$2.run(Unknown Source)
      at java.awt.WaitDispatchSupport$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.awt.WaitDispatchSupport.enter(Unknown Source)
      at java.awt.Dialog.show(Unknown Source)
      at java.awt.Component.show(Unknown Source)
      at java.awt.Component.setVisible(Unknown Source)
      at java.awt.Window.setVisible(Unknown Source)
      at java.awt.Dialog.setVisible(Unknown Source)
      at kam.rocky.view.swing.RJDialog.setVisible(RJDialog.java:467)
      at kam.rocky.controller.WindowController.showView(WindowController.java:393)
      at kam.rocky.controller.WindowController.openFrame(WindowController.java:930)
      at kam.rocky.controller.WindowController.openFrame(WindowController.java:840)
      at kam.rocky.command.AbstractFrameCommand.doExecute(AbstractFrameCommand.java:83)
      at kam.rocky.command.BaseRockyCommand.execute(BaseRockyCommand.java:79)
      at kam.rocky.controller.ButtonController.processActionEvent(ButtonController.java:190)
      at kam.rocky.observer.ActionSubjectImpl.fireActionEvent(ActionSubjectImpl.java:88)
      at kam.rocky.view.swing.observer.SwingActionSubjectImpl.actionPerformed(SwingActionSubjectImpl.java:34)
      at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
      at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
      at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
      at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
      at javax.swing.AbstractButton.doClick(Unknown Source)
      at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
      at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
      at java.awt.Component.processMouseEvent(Unknown Source)
      at javax.swing.JComponent.processMouseEvent(Unknown Source)
      at java.awt.Component.processEvent(Unknown Source)
      at java.awt.Container.processEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
      at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
      at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Window.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$200(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue$4.run(Unknown Source)
      at java.awt.EventQueue$4.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:82)
      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-EventQueue-1 " :
      at javax.swing.JComponent.safelyGetGraphics(Unknown Source)
      - waiting to lock <0x25bee6c0> (a java.lang.StringBuilder)
      at javax.swing.JComponent.safelyGetGraphics(Unknown Source)
      at javax.swing.JViewport.setViewPosition(Unknown Source)
      at javax.swing.ViewportLayout.layoutContainer(Unknown Source)
      at java.awt.Container.layout(Unknown Source)
      at java.awt.Container.doLayout(Unknown Source)
      at java.awt.Container.validateTree(Unknown Source)
      at java.awt.Container.validateTree(Unknown Source)
      at java.awt.Container.validate(Unknown Source)
      - locked <0x25bf29c8> (a java.awt.Component$AWTTreeLock)
      at com.sun.deploy.uitoolkit.impl.awt.ui.SwingConsoleWindow.setScrollPosition(Unknown Source)
      at com.sun.deploy.uitoolkit.impl.awt.ui.SwingConsoleWindow.access$100(Unknown Source)
      at com.sun.deploy.uitoolkit.impl.awt.ui.SwingConsoleWindow$29.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$200(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)

      Found 1 deadlock.



      REPRODUCIBILITY :
      This bug can be reproduced occasionally.

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: