RFR: 8337143: (fc, fs) Move filesystem-related native objects from libnio to libjava [v4]
Brian Burkhalter
bpb at openjdk.org
Thu Aug 8 21:28:32 UTC 2024
On Thu, 8 Aug 2024 16:48:24 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:
>> Possibly - if you made isIPv6Supported() in InetAddress.c return false, you might be able to see the issue in the same test that you observed failing without your change.
>>
>> InetAddress has a static block that will load the "net" library, and an other static block that will create the InetAddressImpl. It's a bit curious because I would expect the block that loads the "net" library to be executed before.
>>
>> And the only place where I see Inet6AddressImpl being used is in that second static block in InetAddress.
>>
>> I am not an expert on library loading though :-(
>
> Thanks for the suggestions. I will look into it.
Without loading libnet in Inet6AddressImpl, the test java/net/InetAddress/NullCharInHostnameDriver.java fails with UnsatisfiedLinkError:
java.lang.UnsatisfiedLinkError: 'java.net.InetAddress[] java.net.Inet6AddressImpl.lookupAllHostAddr(java.lang.String, int)'
at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:52)
at java.base/java.net.NullCharInHostname.main(NullCharInHostname.java:37)
This is on Unix (Linux, macOS) only, not on Windows.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20317#discussion_r1710316659
More information about the core-libs-dev
mailing list