-
Bug
-
Resolution: Fixed
-
P3
-
6
This bug is reproducible rarely on mustang starting (at least) from b49.
Deadlock is possible when invoking setResizable().
Here are fragments of stack dump:
"AWT-EventQueue-0" prio=10 tid=0x08303000 nid=0x1cc8 waiting for monitor entry [0x4f04f000..0x4f050120]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.addComponentListener(Component.java:4689)
- waiting to lock <0x422faab0> (a MyDialog)
at sun.awt.im.InputContext.addClientWindowListeners(InputContext.java:944)
- locked <0x423322f8> (a sun.awt.im.InputMethodContext)
at sun.awt.im.InputContext.activateInputMethod(InputContext.java:374)
at sun.awt.im.InputContext.focusGained(InputContext.java:319)
- locked <0x423322f8> (a sun.awt.im.InputMethodContext)
- locked <0x42cad6a0> (a java.awt.Component$AWTTreeLock)
at sun.awt.im.InputContext.dispatchEvent(InputContext.java:226)
at sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:180)
at java.awt.Component.dispatchEventImpl(Component.java:4299)
at java.awt.Component.dispatchEvent(Component.java:4195)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1828)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:861)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:501)
at java.awt.Component.dispatchEventImpl(Component.java:4237)
at java.awt.Component.dispatchEvent(Component.java:4195)
at sun.awt.X11.XWindow$1.run(XWindow.java:352)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
"AppletThread" prio=10 tid=0x4e737600 nid=0x1cc4 waiting for monitor entry [0x4ea02000..0x4ea02f20]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.invalidate(Component.java:2587)
- waiting to lock <0x42cad6a0> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.invalidate(Container.java:1413)
at sun.awt.X11.XDecoratedPeer.setResizable(XDecoratedPeer.java:874)
at java.awt.Dialog.setResizable(Dialog.java:1272)
- locked <0x422faab0> (a MyDialog)
at DialogResizeTest.start(DialogResizeTest.java:48)
at com.sun.javatest.regtest.AppletWrapper$AppletThread.run(AppletWrapper.java:134)
at java.lang.Thread.run(Thread.java:620)
Found one Java-level deadlock:
=============================
"AWT-EventQueue-0":
waiting to lock monitor 0x080aba70 (object 0x422faab0, a MyDialog),
which is held by "AppletThread"
"AppletThread":
waiting to lock monitor 0x080ab87c (object 0x42cad6a0, a java.awt.Component$AWTTreeLock),
which is held by "AWT-EventQueue-0"
Deadlock is possible when invoking setResizable().
Here are fragments of stack dump:
"AWT-EventQueue-0" prio=10 tid=0x08303000 nid=0x1cc8 waiting for monitor entry [0x4f04f000..0x4f050120]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.addComponentListener(Component.java:4689)
- waiting to lock <0x422faab0> (a MyDialog)
at sun.awt.im.InputContext.addClientWindowListeners(InputContext.java:944)
- locked <0x423322f8> (a sun.awt.im.InputMethodContext)
at sun.awt.im.InputContext.activateInputMethod(InputContext.java:374)
at sun.awt.im.InputContext.focusGained(InputContext.java:319)
- locked <0x423322f8> (a sun.awt.im.InputMethodContext)
- locked <0x42cad6a0> (a java.awt.Component$AWTTreeLock)
at sun.awt.im.InputContext.dispatchEvent(InputContext.java:226)
at sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:180)
at java.awt.Component.dispatchEventImpl(Component.java:4299)
at java.awt.Component.dispatchEvent(Component.java:4195)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1828)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:861)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:501)
at java.awt.Component.dispatchEventImpl(Component.java:4237)
at java.awt.Component.dispatchEvent(Component.java:4195)
at sun.awt.X11.XWindow$1.run(XWindow.java:352)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
"AppletThread" prio=10 tid=0x4e737600 nid=0x1cc4 waiting for monitor entry [0x4ea02000..0x4ea02f20]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.invalidate(Component.java:2587)
- waiting to lock <0x42cad6a0> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.invalidate(Container.java:1413)
at sun.awt.X11.XDecoratedPeer.setResizable(XDecoratedPeer.java:874)
at java.awt.Dialog.setResizable(Dialog.java:1272)
- locked <0x422faab0> (a MyDialog)
at DialogResizeTest.start(DialogResizeTest.java:48)
at com.sun.javatest.regtest.AppletWrapper$AppletThread.run(AppletWrapper.java:134)
at java.lang.Thread.run(Thread.java:620)
Found one Java-level deadlock:
=============================
"AWT-EventQueue-0":
waiting to lock monitor 0x080aba70 (object 0x422faab0, a MyDialog),
which is held by "AppletThread"
"AppletThread":
waiting to lock monitor 0x080ab87c (object 0x42cad6a0, a java.awt.Component$AWTTreeLock),
which is held by "AWT-EventQueue-0"