I got no response.  No error from Tomcat or the browser.  In IE, the status bar 
progress bar runs a bit, then goes to the end and disappears.  The page doesn't 
change.

I had to use jstack to get the dump.  I just posted a sample of a few of the 
connectors.  I've included the entire dump file as an attachment to this post 
(if it doesn't get stripped).  But I didn't see anything sitting in our code.

Note that the 172.16.27.1 entries are for the hung host.  The other IP address 
is for the working host.  Both hosts are configured to send all traffic to 
HTTPS inside the app.

Unfortunately, <Executor> doesn't appear to be available in 5.5.x.

And before the inevitable, the available heap looked just fine.


-----Original Message-----
From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
Sent: Tuesday, April 13, 2010 11:24 AM
To: Tomcat Users List
Subject: Re: Hung threads


Jeff,

On 4/13/2010 12:10 PM, Jeffrey Janner wrote:
> Sorry I was extremely clear.  My config has each customer in a 
> separate service structure, so each get his own set of connectors 
> (IPs).

Gotcha.

> Yes, I am unable to get a response on this specific IP/port combo.

That's not good. Do you get a connection refused, or do you get a timeout?

> The Tomcat Manager only showed 4 sessions for this host when I 
> started, and that eventually dropped to 1, but I could never get a 
> response from the app.

Note that lots of requests can be services without a session being
created (depending on your webapp).

> After a restart, I did a connect, and immediately had 7 threads
> start up and apparently end in the same state (at least it looks the
> same in jconsole).

The state of the threads in your thread dump is normal: WAITING means
blocked on a monitor (i.e. Object.wait). Those threads are waiting to be
notified by the acceptor thread that a request has been made and is
ready for processing.

> I was able to navigate the app and never had the thread count
> increase.  Every check on the thread states showed the same, though
> the Total blocked/Total Waited counters keep increasing.

That's strange.

> The really interesting thing is that over more than an hour with 
> virtually no traffic, should not some of the threads started
> shutting down?

Read Filip's post about using an <Executor> to remove unnsed threads:
the standard <Connector>-based thread pooling will never remove threads,
even though it looks like they will based upon the configuration of the
<Connector>. <Executor>s are much better for resource management.

I'm still concerned that you are unable to get a request through to the
connector. Can you double-check that you haven't grabbed the wrong
section of the thread dump?

- -chris

*******************************  NOTICE  *********************************
This message is intended for the use of the individual or entity to which 
it is addressed and may contain information that is privileged, 
confidential, and exempt from disclosure under applicable law.  If the 
reader of this message is not the intended recipient or the employee or 
agent responsible for delivering this message to the intended recipient, 
you are hereby notified that any dissemination, distribution, or copying 
of this communication is strictly prohibited.  If you have received this 
communication in error, please notify us immediately by reply or by 
telephone (call us collect at 512-343-9100) and immediately delete this 
message and all its attachments.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to