You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2004/10/06 21:37:54 UTC

DO NOT REPLY [Bug 29907] - connector without accept thread (was: hanging during SSL negotiation)

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

http://issues.apache.org/bugzilla/show_bug.cgi?id=29907

connector without accept thread (was: hanging during SSL negotiation)

hauser@acm.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://marc.theaimsgroup.com
                   |                            |/?l=tomcat-
                   |                            |dev&m=108897347220438&w=2
            Summary|hanging during SSL          |connector without accept
                   |negotiation                 |thread (was: hanging during
                   |                            |SSL negotiation)
            Version|5.0.24                      |5.0.27



------- Additional Comments From hauser@acm.org  2004-10-06 19:37 -------
more insights on this
- forget the stacktrace in original description, it is probably our watcher
script, that automatically restarted tomcat (and I didn't know about this)

However:
- the problem that a connector hangs happens with all 3 connectors I have
configured in my server.xml (8443 with https, 8080 and 2712 with plain http)
- what is still possible is to send tomcat a kill -QUIT to obtain a full thread
dump and nothing appears to be particularly special since the server is not very
busy.
However, for each connector I see up to minSpareThreads="25" threads and always
one in java.net.PlainSocketImpl.socketAccept() and the rest in
java.lang.Object.wait(). This is the healthy situation.

Once tomcat hangs, on 1 or more of the connectors, all the threads are in the
wait state and none doing socketAccept.

In the logs, there is no indication why the connector should loose the accepting
thread. The only stacktraces I see come from the struts file-download when,
somebody aborts it and other simple errors in the servlet application (typically
leading to 
...
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
...
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
...)

Any hints how to remedy this would be highly appreciated!  I'll attach the JVM
thread dump next.

P.S.: Appears to have some similarity to the mailing-list description as per the
above URL.
P.P.S.: there is no out-of-memory situation before like in Bug 31426

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org