8207404: MulticastSocket tests failing on Aix

Steve Groeger GROEGES at uk.ibm.com
Mon Jan 14 13:19:38 UTC 2019


Hi Chris / Volker,

I had already tried doing the same as is done for Linux, ie calling this 
first 

mcast_set_if_by_if_v4(env, this, fd, value);

This still fails for some reason with EADDRNOTAVAIL. 
This error gets cleared by the 

if ((*env)->ExceptionCheck(env)){
    (*env)->ExceptionClear(env);
}

as ipv6_available() still returns true, but we then still try and call 

mcast_set_if_by_if_v6(env, this, fd, value);

which again fails with EADDRNOTAVAIL. So we have the same result.

Thanks
Steve Groeger
IBM Runtime Technologies
Hursley, Winchester
Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517 129
Fax (44) 1962 816800
Lotus Notes: Steve Groeger/UK/IBM
Internet: groeges at uk.ibm.com

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



From:   Chris Hegarty <chris.hegarty at oracle.com>
To:     Volker Simonis <volker.simonis at gmail.com>
Cc:     Steve Groeger <GROEGES at uk.ibm.com>, 
ppc-aix-port-dev at openjdk.java.net, net-dev <net-dev at openjdk.java.net>
Date:   12/01/2019 14:21
Subject:        Re: 8207404: MulticastSocket tests failing on Aix





> On 11 Jan 2019, at 17:28, Volker Simonis <volker.simonis at gmail.com> 
wrote:
> 
> I think the difference is in setMulticastInterface() in
> PlainDatagramSocketImpl.c
> 
> #ifdef __linux__
>        mcast_set_if_by_if_v4(env, this, fd, value);
>        if (ipv6_available()) {
>            if ((*env)->ExceptionCheck(env)){
>                (*env)->ExceptionClear(env);
>            }
>            mcast_set_if_by_if_v6(env, this, fd, value);
>        }
> #else  /* __linux__ not defined */
>        if (ipv6_available()) {
>            mcast_set_if_by_if_v6(env, this, fd, value);
>        } else {
>            mcast_set_if_by_if_v4(env, this, fd, value);
>        }
> #endif  /* __linux__ */
> 
> We should probably follow the Linux way for AIX as well.

I agree.

-Chris.

>> On Fri, Jan 11, 2019 at 5:29 PM Chris Hegarty 
<chris.hegarty at oracle.com> wrote:
>> 
>> 
>>> On 09/01/2019 15:20, Steve Groeger wrote:
>>> ...
>>> 
>>> I think I have an Linux system setup with a simarly configured 
interface
>>> (system has IPv6 configured but interface
>>> has no IPv6/INET6 address configured) but the test works fine when run
>>> on that system.
>> 
>> This is what I observe too. Confirmed by looking at the test
>> output in the jtr file.
>> 
>>> This was why I was asking the question on whether this should work on
>>> AIX, or whether it should fail on Linux!!!
>> 
>> I suspect that this is an issue with the native setsockopt
>> on AIX. That said, if it cannot be resolved on AIX, then
>> maybe the networking native code on AIX, should workaround
>> it.
>> 
>> -Chris.




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20190114/ed1369b1/attachment.html>


More information about the ppc-aix-port-dev mailing list