On Mon, 18 Oct 2021 16:57:10 GMT, Daniel Jeliński <d...@openjdk.java.net> wrote:

>> Per Java documentation, 
>> "[Error](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/Error.java#L30)
>>  [..] indicates serious problems that a reasonable application should not 
>> try to catch". Failure to enumerate network interfaces or addresses is not a 
>> serious enough situation; many applications can recover from this pretty 
>> easily.
>> 
>> All native methods (except `init()`) in 
>> [NetworkInterface](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/net/NetworkInterface.java#L436)
>>  are declared with `throws SocketException`, so throwing SocketExceptions 
>> instead of Errors will match the declared interface.
>> 
>> Unix version of 
>> [NetworkInterface](https://github.com/openjdk/jdk/blob/master/src/java.base/unix/native/libnet/NetworkInterface.c#L1189)
>>  already throws `SocketException`s in similar situations, and does not throw 
>> `Error` under any circumstances.
>> 
>> I searched the bug database and mail archives, but could not find any 
>> discussion on the topic; if there's a reason to keep throwing `Error`s, I 
>> couldn't find it.
>> 
>> `tier1` tests pass, `java.net` tests pass. No new regression tests as I 
>> couldn't find any list of steps to reproduce the problem.
>> 
>> I don't have write access to JBS. I could use some help with creating a 
>> ticket.
>
> Daniel Jeliński has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Fix crash on GetIpAddrTable error

I think you've got this to a good place. It would be helpful if you could trim 
down some of the really long lines to keep to consistent with the existing code 
if possible. It's clear that there is a lot of cleanup needed in this area but 
that can be done in future PRs as needed.

src/java.base/windows/native/libnet/NetworkInterface_winXP.c line 232:

> 230: int getAllInterfacesAndAddresses (JNIEnv *env, netif **netifPP)
> 231: {
> 232:     int ret, flags;

This looks right but I can't relate this to your comment about the crash.

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

PR: https://git.openjdk.java.net/jdk/pull/5956

Reply via email to