Code Review Request: 8028562

Xuelei Fan xuelei.fan at oracle.com
Wed Dec 4 04:06:52 UTC 2013


On 12/4/2013 11:33 AM, zaiyao liu wrote:
> Hi Xuelei,
> 
> Can you help to review again.
> http://cr.openjdk.java.net/~ewang/kevin/JDK-8028562/webrev.00/
>
Thanks for the update.  Please pay attentions to the code conversions.

 300 if (serverIn.remaining() != clientMsg.length) {
 301     if(retry){
 302        log("will read one more round");

It might be reasonable to retry when "serverIn.remaining()" less than
clientMsg.length", what do you think?


Xuelei


> 
> 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
> 




More information about the security-dev mailing list