Hi Xuelei,

Can you help to review again.
http://cr.openjdk.java.net/~ewang/kevin/JDK-8028562/webrev.00/ <http://cr.openjdk.java.net/%7Eewang/kevin/JDK-8028562/webrev.00/>

Thanks

Kevin
On 2013/12/3 19:50, Xuelei Fan wrote:
On 12/3/2013 6:59 PM, zaiyao liu wrote:
Hi Xuelei,

I can't reproduce this issue after run 900 times at windows and linux
platform,
It should be pretty hard to reproduce the issue in normal TCP/IP
environment.

for this fix just run one more round after get exception.

please review:
http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/kevin1/webrev/8028562/webrev/


I don't think it is the expected fix.  Looks like the underlying issue
is that "serverOut.remaining() == 0" (line 282) does not always mean the
server has received all of the client message (line 298,
(serverIn.remaining() != clientMsg.length)).  I would suggest run one
more round (at line 241) after server message delivered
("serverOut.remaining() == 0" (line 282)).

The logic looks like, in runTest(boolean):
loop (line 241):
    read client message
    send server message
    if server delivered all server message {
        if server received all client message {
            check the message
        } else {
            loop one more time, go to "loop" (only one time?).
        }
    }

Hope it helps.

Xuelei


Thanks

Kevin

Reply via email to