Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2159163 | 1.3.1 | Chris Hegarty | P3 | Closed | Won't Fix |
daniel.daugherty@Eng 1999-12-02
The java.net test suite was run on Win2000 in a standalone
client-server configuration using Kestrel FCS-P. One test threw an
unexpected exception:
ERROR: Cannot write single byte(s) to server.
ERROR: Connection reset by peer: socket write error
FINALSTATUS:HalfWriteIgnored:EXIT_ERROR:2:Number of ERRORS:1:TEST INCOMPLETE
It appears that the server closed the socket before the client was done
writing data. In this test application, the server thread is supposed
to stick around until the client thread finishes writing and goes away.
While reading the test application, I noticed that there may be an
application level protocol problem:
server client
---------------------------- ----------------------------
|T|
read line |I| write line as single array
shutdown InputStream |M| write line as single bytes
while client is still there |E| write line as single array(1)
write NUL byte to client | | write line as single array(2)
\ /
Consider a very fast client and a slow server: the client could write
all the data before the server has finished reading (and verifying the
first line). I don't think that this explains the "socket write error"
exception, but this problem needs to be solved before dealing with a
potential product bug.
daniel.daugherty@Eng 1999-12-10
This bug was also observed with a Win95 client and a WinNT server
during Kestrel FCS-P testing. I have updated the synopsis.
- backported by
-
JDK-2159163 socket write error on client with HalfWriteIgnored test and Win* server
-
- Closed
-
- relates to
-
JDK-4929549 Change documentation of socket.shutdownInput() and socket.shutdownOutput()
-
- Closed
-