We spent weeks looking at similar bizarre thread stack dumps.
Eventually it turned out to be a GC problem. The JVM will all
of a sudden decide to stop large numbers of threads from running
(or perhaps it stops one, but that thread happens to be holding
a heavily contended lock --- database connection pool and log4j
are common candidates).

Anyway, take a detailed look at your GC stats. I bet that you will
find that the hangups coincide with full GC cycles. It appears based
on my experience that the thread dumps you get during one of these
episodes are not believable -- they show wacky things like threads
waiting on a lock they already hold, multiple threads holding the
same lock, and threads waiting on mysterious 'monitors' that appear
nowhere else in the stack dump (these I concluded are internal
JVM monitors that are used by GC to block threads).



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to