RFR: 8313997: The jdi/ListeningConnector/startListening/startlis001 may fail if the hosts file is modified

Sergey Bylokhov serb at openjdk.org
Thu Aug 10 19:36:59 UTC 2023


On Wed, 9 Aug 2023 07:46:58 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> The test uses this code to create a list of valid addresses for the localhost:
> 
>         String hostname = "localhost";
>         List<String> validAddresses = new LinkedList<>();
>         validAddresses.add(hostname);
>         Arrays.stream(InetAddress.getAllByName(hostname))
>                     .forEach(address -> validAddresses.add(address.getHostAddress()));
> 
> It does not work properly if the custom name is set for the 127.0.01 via /etc/hosts file. In that case, the address returned by the "startListen()" will be "SomeCustomName:port", for example we can return it here:
> https://github.com/openjdk/jdk/blob/360f65d7b15b327e2f160c42f318945cc6548bda/src/jdk.jdi/share/classes/com/sun/tools/jdi/SocketTransportService.java#L82

Why do you think the hosts file should be fixed? it does not seem like the wrong configuration and the startListen() really return the  "SomeCustomName:port". I can add a check to the test that the name returned by the getLocalHost could be mapped on 127.0.0.1.

Or I can skip all ip addresses for the getLocalHost() and uses the name only. But if it is not a test bug and the "loopback address" should always be used, then it seems a product bug.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15203#issuecomment-1673773524
PR Comment: https://git.openjdk.org/jdk/pull/15203#issuecomment-1673778075


More information about the serviceability-dev mailing list