HI, I worked with tomcat 4.1.12 and I've got the following situation.
Method org.apache.tomcat.util.threads.ThreadPool.ControlRunnable.run() ... } catch(Throwable t) { loghelper.log("Caught exception executing " + toRun.toString() + ", terminating thread", t); loghelper.flush(); shouldTerminate = true; shouldRun = false; p.notifyThreadEnd(this); } finally { if(shouldRun) { shouldRun = false; p.returnController(this); } } If loghelper.log will thrown an exception, this is possible if we add custom handler to default logger, thread won't be released from pool and the notification won't be performed. I have fixed the custom handler in my code but I have another situation which makes is making the same situation. If everything is OK there is always a thread which invokes socketAccept method of the http serverSocket. But there are situation when this thread dies and tomcat is stuck. Even if it dies there should be a stack trace of the exception, logged in java.lang.ThreadGroup.uncaughtException, that caused the death. ... if (!(e instanceof ThreadDeath)) { e.printStackTrace(System.err); } ... But there's none. So I am wandering, where else can be that socket losing code. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]