Code Review 6934923: test/java/net/ipv6tests/TcpTest.java hangs on Solaris 10

Christopher Hegarty - Sun Microsystems Ireland Christopher.Hegarty at Sun.COM
Mon Mar 15 06:41:03 PDT 2010


Hi Alan, Michael,

The test has a connected TCP socket and performs individual writes of 
only 2 bytes on one end. It does not read off the data on the other end. 
After 8 writes, on the 9th, the write blocks. Clearly the send buffer 
has not been exhausted, but after some experimenting it can be shown 
that you can only write more data if some is read off.

This only occurs when both ends of the socket are on the same host. This 
is a result of the Solaris TCP Fusion feature. See the bug description 
for more details.

The solution is to amend the test to have the producer and consumer on 
separate threads. Also, cleaned up a few NPE I noticed when running the 
test on various systems.

Webrev:
   http://cr.openjdk.java.net/~chegar/6934923/webrev.00/webrev/

-Chris.



More information about the net-dev mailing list