I got SIP Communicator running under Java WebStart but run relatively often into deadlocks at launch. At least a major part of it is caused by MainFrame.isVisible's call to getExtendedState, which is synchronized. Is this call necessary at all? At first sight I couldn't see different behavior when just removing the whole method and let it be handled by the AWTs Component implementation. If it's thought for performance reasons of repaint(), then the RepaintManager already handles this. Attached are dumps of the blocked threads.
blocked_threads.txt (3.96 KB)