RFR: 8308807: [AIX] MulticastSocket and jdp test fails due to joinGroup
Thomas Obermeier
duke at openjdk.org
Mon Sep 4 15:53:45 UTC 2023
On Thu, 3 Aug 2023 12:06:33 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> Hi @AlanBateman ,
>>
>> I ran the Jtreg tests on **jdk17** and observed the following tests passed unexpectedly when I set the **VM_OPTIONS to `-Djdk.net.usePlainDatagramSocketImpl=true`**
>>
>> 1. java/net/MulticastSocket/B6427403.java
>> 2. java/net/MulticastSocket/NoLoopbackPackets.java
>> 3. java/net/MulticastSocket/SetLoopbackMode.java
>> 4. java/net/MulticastSocket/Test.java
>>
>> I am curious about how setting the `jdk.net.usePlainDatagramSocketImpl` property impacts their behavior. I would like to understand why they pass with this configuration and whether it has any implications.
>>
>> Could you please share your insights on this matter? I appreciate your assistance in understanding this behavior and ensuring the correctness of the tests.
>>
>> Thank you.
>
>> I am curious about how setting the `jdk.net.usePlainDatagramSocketImpl` property impacts their behavior. I would like to understand why they pass with this configuration and whether it has any implications.
>>
>> Could you please share your insights on this matter? I appreciate your assistance in understanding this behavior and ensuring the correctness of the tests.
>
> I think this issue needs an authoritative summary on what AIX supports and doesn't support. The observations reported conflict with some of the comments so I don't think I can say definitely if there are code or test changes required.
>
> For a long time, Net.canJoin6WithIPv4Group() has returned "false" on AIX so there is no attempt to join IPv4 multicast groups with a dual IPv4/IPv6 socket. DatagramChannel has supported multicasting since JDK 7 (2011) so if there were issues or test failures on AIX then surely they would have been noticed before now, or maybe all the test were excluded, or maybe the testing was done with IPv6 disabled.
>
> The old DatagramSocketImpl implementation didn't have a setting/configuration to say if a dual IPv4/IPv6 socket could join an IPv4 multicast group, it just attempted it. Your results suggests that it works, which is surprising. Does AIX have the equivalent of strace to trace system calls? It might be useful to confirm that the socket is actually IPv6 and that it joining IPv4 multicast groups.
> > @AlanBateman , is it possible if there is a central place where the change could me made for fixing all of the multicast test cases?
...
> For the networking and NIO tests then you probably should look at jdk.test.lib.NetworkConfiguration. That has a number of AIX specific comments that may be out of date. ...
Created https://bugs.openjdk.org/browse/JDK-8315651 to address jdk.test.lib.NetworkConfiguration.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14142#issuecomment-1705474529
More information about the nio-dev
mailing list