RFR: JDK-8234935: JdwpListenTest.java and JdwpAttachTest.java getting bind failures on Windows 2016 hosts

Chris Plummer chris.plummer at oracle.com
Fri Feb 7 01:31:38 UTC 2020


Either is fine by me.

Chris

On 2/6/20 3:40 PM, Alex Menkov wrote:
> Hi Chris,
>
> Thank you for the review.
> So we have 2 ways - create new RFE for refactoring and then fix this 
> bug in updated code.
> or just fix this 2 tests without refactoring (the changes in the tests 
> will be identical).
> Do you think it makes sense to go #1 or just do #2?
>
> Regarding using Platform.isWindows - it's good for the case, I'll fix 
> it in the next iteration.
>
> --alex
>
> On 02/06/2020 15:01, Chris Plummer wrote:
>> Hi Alex,
>>
>> When refactoring is big and the bug fix is small, I prefer to see the 
>> refactoring done first. It just keeps things cleaner and makes it 
>> easier for the reviewer to see the important changes. It also helps 
>> anyone looking at this bug or these tests in the future to better 
>> recognize what the actual bug fix was, and what was just refactoring. 
>> Think if there was another test with this issue, and someone was 
>> looking at the diff of this fix to see how to apply it to the other 
>> test.
>>
>> BTW, there is already a Platform.isWindows() API. It should probably 
>> be used rather than the check the test is using. It is a slightly 
>> different test however, testing for a prefix of "win" rather than 
>> "windows" anywhere in the string.
>>
>> thanks,
>>
>> Chris
>>
>> On 2/6/20 1:14 PM, Alex Menkov wrote:
>>> Hi all,
>>>
>>> Please review the fix for
>>> https://bugs.openjdk.java.net/browse/JDK-8234935
>>> webrev:
>>> http://cr.openjdk.java.net/~amenkov/jdk15/JdwpTestsTeredo/webrev/
>>>
>>> The failures are caused by Teredo clients 
>>> (https://en.wikipedia.org/wiki/Teredo_tunneling).
>>> The fix filters out corresponding addresses.
>>>
>>> JdwpListenTest and JdwpAttachTest use the same way to get addresses 
>>> for testing. As this is not the 1st time the algorithm is updated I 
>>> decided to deduplicate the code and move shared code to new base class.
>>> So actual change is the addition of
>>>
>>> 71  // Teredo clients cause intermittent errors on listen ("bind 
>>> failed")
>>> 72  // and attach ("no route to host").
>>> 73  // Teredo is supposed to be a temporary measure, but some test 
>>> machines have it.
>>> 74   if (isTeredo(addr6)) {
>>> 75    continue;
>>> 76  }
>>>
>>> and isTeredo method implementation.
>>>
>>> --alex
>>
>>




More information about the serviceability-dev mailing list