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