Code Review Request: 8028562

zaiyao liu zaiyao.liu at oracle.com
Wed Dec 4 06:36:57 UTC 2013


Hi Xuelei,

Thanks for you suggestion. please review again:
http://cr.openjdk.java.net/~ewang/kevin/JDK-8028562/webrev.00/ 
<http://cr.openjdk.java.net/%7Eewang/kevin/JDK-8028562/webrev.00/>

Kevin
On 2013/12/4 12:06, Xuelei Fan wrote:
> 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