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 2003/09/12 21:32:58 UTC
DO NOT REPLY [Bug 23146] New: -
Calling socket.setTcpNoDelay causes connector to disconnect
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=23146>.
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=23146
Calling socket.setTcpNoDelay causes connector to disconnect
Summary: Calling socket.setTcpNoDelay causes connector to
disconnect
Product: Tomcat 4
Version: 4.1.27
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Normal
Priority: Other
Component: Connector:HTTP/1.1 (deprecated)
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: katre-apache@henchmonkey.org
In org.apache.catalina.connector.HttpConnector, line 1028, the connector calls
setTcpNoDelay on the newly created socket. This method can throw a
SocketException, which is not caught. The exception causes the HttpConnector
thread to finish, removing the Socket object without explicitly closing the
underlying network socket. Tomcat then attempts to recreate the HttpConnector,
which attempts to open a new socket with the same address binding. This will
fail, and the application will then cease to respond on the given HTTP port.
This is happening very intermittently on a production machine we have. This is
very difficult to replicate, but I hope that we have given enough details to
fix the underlying problem, which is the uncaught SocketException.