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

deadlock occurs when display properties are changed in jdk5ux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Fix
    • P4
    • 5.0-pool
    • 5.0u30
    • client-libs

    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

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

            Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: