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