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