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.
More information about the net-dev