One more note-
Bill Hibbard wrote:
If you can toggle any layers on and off then there is no
deadlock, since all DataRenderer.doAction() methods are
invoked in a single loop (at about lines 1684-1699 of
DisplayImpl.java).
I agree.
A good way to analyze deadlocks is to run under jdb. When
you think you have a deadlock, enter the jdb commands
'suspend all' and 'where all'. This will give you a stack
dump with line numbers for each Thread, and you can see
where Threads are waiting inside synchronized() {...}
statements.
You can also get a thread dump at any time by:
- pressing Ctrl-Break on Windows
- sending a kill -QUIT <pid> on Solaris and linux or ctrl-/
See:
http://developer.java.sun.com/developer/technicalArticles/Programming/Stacktrace/
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************