What steps will reproduce the problem?
1. I tried to move a shared app window to the HUD while someone else was
resizing it
What is the expected output? What do you see instead?
The entire client froze. jstack reported the same deadlock:
Found one Java-level deadlock:
=============================
"Remote Window Client":
waiting to lock monitor 1531514f8 (object 1165067c8, a org.jdesktop.wonderland.modules.xremwin.client.AppXrwSlave),
which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
waiting to lock monitor 1529a8ee0 (object 110253da8, a org.jdesktop.wonderland.modules.xremwin.client.WindowXrw),
which is held by "Remote Window Client"
Java stack information for the threads listed above:
===================================================
"Remote Window Client":
at org.jdesktop.wonderland.modules.appbase.client.App2D.changedStackAllWindowsExcept(App2D.java:381)
- waiting to lock <1165067c8> (a org.jdesktop.wonderland.modules.xremwin.client.AppXrwSlave)
at org.jdesktop.wonderland.modules.appbase.client.Window2D.restackAbove(Window2D.java:1032)
- locked <110253da8> (a org.jdesktop.wonderland.modules.xremwin.client.WindowXrw)
at org.jdesktop.wonderland.modules.xremwin.client.ClientXrw.configureWindow(ClientXrw.java:733)
at org.jdesktop.wonderland.modules.xremwin.client.ClientXrw.processMessage(ClientXrw.java:461)
at org.jdesktop.wonderland.modules.xremwin.client.ClientXrwSlave.processMessage(ClientXrwSlave.java:156)
at org.jdesktop.wonderland.modules.xremwin.client.ClientXrw.run(ClientXrw.java:297)
at java.lang.Thread.run(Thread.java:637)
"AWT-EventQueue-0":
at org.jdesktop.wonderland.modules.appbase.client.Window2D.addView(Window2D.java:1616)
- waiting to lock <110253da8> (a org.jdesktop.wonderland.modules.xremwin.client.WindowXrw)
at org.jdesktop.wonderland.modules.hud.client.HUDView2DDisplayer.createView(HUDView2DDisplayer.java:51)
at org.jdesktop.wonderland.modules.hud.client.WonderlandHUDComponentManager.componentVisible(WonderlandHUDComponentManager.java:316)
at org.jdesktop.wonderland.modules.hud.client.WonderlandHUDComponentManager.handleHUDComponentChanged(WonderlandHUDComponentManager.java:691)
at org.jdesktop.wonderland.modules.hud.client.WonderlandHUDComponentManager.HUDObjectChanged(WonderlandHUDComponentManager.java:760)
at org.jdesktop.wonderland.modules.hud.client.HUDObject2D.notifyEventListeners(HUDObject2D.java:560)
at org.jdesktop.wonderland.modules.hud.client.WonderlandHUD.HUDObjectChanged(WonderlandHUD.java:347)
at org.jdesktop.wonderland.modules.hud.client.HUDObject2D.notifyEventListeners(HUDObject2D.java:560)
at org.jdesktop.wonderland.modules.hud.client.HUDObject2D.notifyEventListeners(HUDObject2D.java:576)
at org.jdesktop.wonderland.modules.hud.client.HUDObject2D.setVisible(HUDObject2D.java:275)
at org.jdesktop.wonderland.modules.appbase.client.HUDDisplayer.createView(HUDDisplayer.java:106)
at org.jdesktop.wonderland.modules.appbase.client.View2DSet.displayerCreateViewsForAllWindows(View2DSet.java:156)
at org.jdesktop.wonderland.modules.appbase.client.View2DSet.add(View2DSet.java:87)
- locked <112b7a100> (a org.jdesktop.wonderland.modules.appbase.client.View2DSet)
at org.jdesktop.wonderland.modules.appbase.client.App2D.setShowInHUD(App2D.java:474)
- locked <1165067c8> (a org.jdesktop.wonderland.modules.xremwin.client.AppXrwSlave)
at org.jdesktop.wonderland.modules.appbase.client.cell.App2DCell$6.actionPerformed(App2DCell.java:393)
at org.jdesktop.wonderland.modules.contextmenu.client.ui.SwingContextMenu$LabelListener.mouseClicked(SwingContextMenu.java:328)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6351)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6113)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4291)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Found 1 deadlock.
Original issue reported on code.google.com by jonathan...@gmail.com on 21 Jul 2010 at 5:25
Original issue reported on code.google.com by
jonathan...@gmail.com
on 21 Jul 2010 at 5:25Attachments: