Re: [gui-dev] Startup deadlock problems
Sam Berlin <[email protected]> Fri, 23 Jul 2004 14:46:38 -0400
| Newsgroups | gmane.network.gnutella.limewire.gui.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Jens-Uwe, What version of Java are you using on the boxes? We have no experienced these errors, so it is very strange that you are seeing it 1/3 of the time on XP. I did experiment at one time with putting the initial GUIMediator.instance call in the Swing thread, but noticed (as you saw) that the splash screen wasn't updated. The problem was that the update required the Swing thread to show, but it was blocked by the construction of the GUI. Rather than try and separate out the problematic points, it seemed unnecessary to put the construction in the Swing thread, since there were no problems at the time. Can you hit 'ctrl-break' during these deadlocks to have Java show where the deadlock is occurring? (On OSX you can send a kill with the interrupt signal.) Thanks, Sam On Friday, July 23, 2004, at 02:35 PM, Jens-Uwe Mager wrote: > 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 > _______________________________________________ gui-dev mailing list [email protected] http://www.limewire.org/mailman/listinfo/gui-dev