-
Bug
-
Resolution: Won't Fix
-
P4
-
5.0u30
-
x86
-
windows_xp
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.
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.