This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I am behind a password protected proxy that does not seem to be working very well. I expanded the node for a remote Glassfish V2 instance. The UI remained responsive. However, right clicking the node while it is refreshing causes the AWT thread to be blocked until background threads complete some socket I/O. See attached thread dump. "AWT-EventQueue-1" prio=6 tid=0x005151b0 nid=0x1828600 waiting for monitor entry [0xb429e000..0xb429ed10] at org.netbeans.modules.j2ee.sun.ide.dm.SunDeploymentManager.refreshDeploymentManager(SunDeploymentManager.java:1349) - waiting to lock <0x0d9d9560> (a org.netbeans.modules.j2ee.sun.ide.dm.SunDeploymentManager) at org.netbeans.modules.j2ee.sun.ide.j2ee.runtime.nodes.ManagerNode.getDeploymentManager(ManagerNode.java:163) at org.netbeans.modules.j2ee.sun.ide.j2ee.runtime.actions.ViewLogAction.enable(ViewLogAction.java:136) at org.openide.util.actions.NodeAction$DelegateAction.resultChanged(NodeAction.java:611)
Created attachment 52149 [details] Thread dump
this looks like an easy fix... I don't know how to test it though, since the steps to reproduce it are a bit vague.
http://deadlock.netbeans.org/fisheye/changelog/netbeans/serverplugins/sun?cs=MAIN:vkraemer:20071031192541
Probably something like - set a boolean flag when I/O starts - if EventQueue.isDispatchThread(), assert that the flag is false that won't be great at catching similar problems, but it's something. Probably you need a non-blocking call to determine if the status is unknown and actions should disable themselves if the status is unknown. Or wrap the thing that would block in a facade with the same methods that can check if I/O is happening and return some reasonable value if I/O is happening and publish a change when it is done, if you don't want to change all the code that might call the existing method.