DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21763>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21763

Tomcat 4.1.24 hangs under heavy load using http connector.





------- Additional Comments From [EMAIL PROTECTED]  2003-09-11 17:07 -------
I have sent you guys another full dump of threads. I do not post it here 
because it has 1500 lines.

There are total 129 instances of ControlRunnable (Thread-2 to Thread-130). You 
will see 125 of them are waiting for monitor entry which is at 
PoolTcpEndpoint.acceptSocket() which will soon trigger ThreadPool.runIt() -> 
this.wait(). See it below.

    "Thread-130" daemon prio=1 tid=0x081af570 nid=0x5c79 waiting for monitor 
entry [51c4b000..51c4b8b8]
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:351)
        - waiting to lock <0x44e134e0> (a java.net.PlainSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:448)
        at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(DashoA6275)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket
(JSSESocketFactory.java:240)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket
(PoolTcpEndpoint.java:341)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:497)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:530)
        at java.lang.Thread.run(Thread.java:534)

Only 4 instances are idle listed below.

    "Thread-127" daemon prio=1 tid=0x081ad0c8 nid=0x5c76 in Object.wait() 
[51ac8000..51ac88b8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x47acbe10> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:429)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:509)
        - locked <0x47acbe10> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:534)

Obviously, there is another defect in Http Connector that causes too many 
thread requests on ThreadPool.

Once this defect meets the first defect I mentioned above in ThreadPool, which 
means all (the maxThreads) instances of ControlRunnable are used to wait for 
listening on the server socket, then all threads will go to the next point at 
TcpWorkerThread.runIt() -> endpoint.tp.runIt(this) -> ThreadPool.runIt() -> 
this.wait(), and hang there.


I have no idea on how Http Connector works to use threads. I think you guys 
will find clues from the dump.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to