SocketException: socket write error on 101st POST on Tomcat 5.5.16

Hi All,
I am in a bit of a fix following an upgrade to Java 5.0 update 6 and
Tomcat 5.5.16. One of the tasks that our application does is to send out
a serialized object to a servlet, which then populates it and sends it
back. The communication from the client side is maintained via a raw
socket (I didn't do it!!). The servlet responds as a regular web service
would, it gets an HTTP request and sends back a HTTP response. The
problem does not happen when compiled with Java 1.4.2 and Tomcat 4.1.29.
I have managed to implement a servlet and client in a minimal way so as
to be able reproduce the problem. The client creates an object with an
integer id and a string name and sends it to the servlet via a POST
which populates the name with a random string and sends it back. The
101st POST request fails with the following errors:
(while the client is writing to the socket)
java.net.SocketException: Software caused connection abort: socket write
error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at
java.net.SocketOutputStream.write(SocketOutputStream.java:124)
        at TestSocket.write(TestSocket.java:42)
        at TestSocket.main(TestSocket.java:140)
Ocassionally I might even get a : (while the client is reading from the
socket)
java.net.SocketException: Software caused connection abort: recv failed
       at java.net.SocketInputStream.socketRead0(Native Method)
       at java.net.SocketInputStream.read(SocketInputStream.java:129)
To downloaded the zipped source and config files goto:
http://am90007.tripod.com/sv.zip
(Sorry! Couldn't find any other way to deliver sources)
To reproduce the problem:
1. In build.xml:
   replace global property catalina_home with tomcat install base.
2. run ant build:
   ant clean compile deploy
3. in sv:
   java -cp build TestSocket 200
   where 200 is the number of requests that are made to the servlet.
The servlet logs messages to stdout_yyyymmdd.log
The problem seems to occur even if you set the Container attributes in
server.xml to allow a higher connect count and timeouts.
Any help would be greatly appreciated.
Thanks.
http://www.nabble.com/SocketException%3A-socket-write-error-on-101st-POST-on-Tomcat-5.5.16-to3582371.html

你可能感兴趣的:(exception)