[gui-dev] Startup deadlock problems

Jens-Uwe Mager <[email protected]> Fri, 23 Jul 2004 20:35:36 +0200
Newsgroups gmane.network.gnutella.limewire.gui.devel
Message-ID <[email protected]>
On my XP box I have the problem that LimeWire quite fails to start
properly probably one out of three times. I have the same problem under
OS X, although it appears to happen there much more seldom. The problem
manifests itself that main the frame does not appear after the splash
screen is dismissed. Under XP this causes LimeWire to be invisible on
the task bar, one has to use task manager to kill it and try again.
Under OS X the Menu bar with just the LimeWire menu appears but using
the Quit option does nothing, one has to force quite LimeWire to try
again.

This reminded me of an issue I did read in the Java Swing Tutorial,
namely the possible deadlock possible if modifying components that have
already been realized. See:

http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html

After wrapping the call to Initializer.initialize() into a
SwingUtilities.invokeLater() the deadlock does indeed disappear,
although painting of the splash screen does not appear to happen any
more. This appearently means that the construction of the gui needs to
be more cleanly seperated out to avoid threading issues. What do you
think? Am I barking up the wrong tree?
-- 
Jens-Uwe Mager	<pgp-mailto:F476EBC2>
_______________________________________________
gui-dev mailing list
[email protected]
http://www.limewire.org/mailman/listinfo/gui-dev