RFR: JDK-8313804: JDWP support for -Djava.net.preferIPv6Addresses=system [v6]

Liam Miller-Cushon cushon at openjdk.org
Thu Sep 21 00:49:50 UTC 2023


On Wed, 20 Sep 2023 20:36:20 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> It seems like the "IPv6-only system" part of the test should include more test cases, both passing and failing. I'm not sure why it was lmitted to just the one:

I have added additional test cases

> Does this test guarantee that "system" was honored, or only verify that there was no failure to attach? In other words, wouldn't this pass even if the debug agent ignored the use of "system"?

That is true, with `preferIPv4Stack(true)` I don't think there's a decision to make about ordering. Would you like this test case to be removed?

> What happens if using "system" with `preferIPv4Stack(false)`? I'm not sure why you don't have a test case for this.

I have added additional test cases.

> I guess maybe the reason is we don't know if the test case would pass or not because we don't know if "system" will result in using v4 (pass) or v6 (fail). Is there a way to determine that in advanced?

Right, it depends on what `getaddrinfo` is doing on the current system. One way to determine that in advance is to run the test with `-Djava.net.preferIPv6Address=system` and check which address `InetAddress.getAllByName("localhost")` returns first, and then assert that is consistent with what JDWP is doing. I'm didn't see a more direct way to check what `getaddrinfo` is going to do, or avoid relying on its behavior on the current system.

> test/jdk/com/sun/jdi/JdwpNetProps.java line 82:
> 
>> 80:                 // - listen on IPv4
>> 81:                 new ListenTest("localhost", ipv6Address)
>> 82:                         .preferIPv6Addresses("false")
> 
> It seems we should also have a test case that omits using `preferIPv6Addresses()`. I think like this test case, it should fail because the debug agent will default to v4.

Done

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

PR Comment: https://git.openjdk.org/jdk/pull/15796#issuecomment-1728600933
PR Review Comment: https://git.openjdk.org/jdk/pull/15796#discussion_r1332312895
PR Review Comment: https://git.openjdk.org/jdk/pull/15796#discussion_r1332312949


More information about the serviceability-dev mailing list