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

deadlock occurs when display properties are changed in jdk5ux

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Won't Fix
    • Affects Version/s: 5.0u30
    • Fix Version/s: 5.0-pool
    • Component/s: client-libs
    • Labels:

      Description

      When java application is running and display properties are changed,
      a deadlock occurs.

      CONFIGURATION:
      JDK : JDK5u30
      OS :WindowsXP(SP3, Japanese, 32bits)

      REPRODUCE:
      1) unfold the attached Swingdeadlock.zip
      2) Invoke, "java test1" in command prompt window
      3) change some display properties,
        ex.
         resolution, desktop color,...
        (JLE changed desktop color)
      4) click "apply" button
      5) press ctl-break in command prompt to get threaddump

      NOTE:
       If deadlock does not occur, repeat the above 3) and 4)

      Found one Java-level deadlock:
      =============================
      "AWT-EventQueue-1":
        waiting to lock monitor 0x00aab544 (object 0x0301f760, a sun.awt.windows.WDesktopProperties),
        which is held by "AWT-EventQueue-0"
      "AWT-EventQueue-0":
        waiting to lock monitor 0x00aab664 (object 0x02fff8d8, a sun.awt.windows.WToolkit),
        which is held by "AWT-EventQueue-1"

      Java stack information for the threads listed above:
      ===================================================
      "AWT-EventQueue-1":
              at sun.awt.windows.WDesktopProperties.addPropertyChangeListener(WDesktopProperties.java:63)
              - waiting to lock <0x0301f760> (a sun.awt.windows.WDesktopProperties)
              at sun.awt.windows.WToolkit.addPropertyChangeListener(WToolkit.java:845)

              - locked <0x02fff8d8> (a sun.awt.windows.WToolkit)
              at com.sun.java.swing.plaf.windows.DesktopProperty.getValueFromDesktop(DesktopProperty.java:149)
              at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$TriggerDesktopProperty.<init>(WindowsLookAndFeel.java:2158)
              at com.sun.java.swing.plaf.windows.WindowsLookAndFeel.initComponentDefaults(WindowsLookAndFeel.java:552)
              at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:107)
              at javax.swing.UIManager.setLookAndFeel(UIManager.java:414)
              at javax.swing.UIManager.setLookAndFeel(UIManager.java:454)
              at Work1.run0(test1.java:48)
              at Work1.run(test1.java:43)
              at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
              at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:499)
              at java.awt.EventQueue.access$000(EventQueue.java:80)
              at java.awt.EventQueue$1.run(EventQueue.java:462)
              at java.awt.EventQueue$1.run(EventQueue.java:461)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:471)
              at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.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-0":
              at sun.awt.windows.WToolkit.clearDesktopProperty(WToolkit.java:837)
              - waiting to lock <0x02fff8d8> (a sun.awt.windows.WToolkit)
              at sun.awt.windows.WDesktopProperties.diffPropertyChanges(WDesktopProperties.java:243)
              - locked <0x0301f760> (a sun.awt.windows.WDesktopProperties)
              at sun.awt.windows.WDesktopProperties.access$100(WDesktopProperties.java:28)
              at sun.awt.windows.WDesktopProperties$DiffPropertyChanges.run(WDesktopProperties.java:216)
              at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
              at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:499)
              at java.awt.EventQueue.access$000(EventQueue.java:80)
              at java.awt.EventQueue$1.run(EventQueue.java:462)
              at java.awt.EventQueue$1.run(EventQueue.java:461)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:471)
              at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
              at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.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.

        Attachments

          Activity

            People

            Assignee:
            nikgor Nikolay Gorshkov
            Reporter:
            tbaba Tadayuki Baba (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: