Can I please get a review of this minor enhancement to the error text that is reported if the `getaddrinfo()` native call returns the `EAI_SYSTEM` error? This addresses https://bugs.openjdk.org/browse/JDK-8227493.
The `java.net.InetAddress` class, in its implementation for resolving addresses for a host name, calls the `getaddrinfo()` native call on *nix platforms. If `getaddrinfo()` returns an error then we use the `gai_strerror()` native call to convert the error number into an error string that is then propagated to the application. Among other errors, the `getaddrinfo()` is specified to return the error code `EAI_SYSTEM` which as per its documentation represents > EAI_SYSTEM system error returned in errno So calling `gai_strerror()` merely returns a generic "System error" text. The real underlying error is present in the `errno` and that has more useful information. The commit in this PR checks the error for `EAI_SYSTEM` and if it matches then it additionally gets the error text corresponding to `errno`. So the error text that gets propagated will now be "System error: Illegal byte sequence", assuming `EILSEQ` was the underlying `errno` for the `getaddrinfo` call (my use of `EILSEQ` in this example is arbitrary and it's merely to show what the error text will look like after this change). Given the nature of this change no new test has been introduced. Existing tests in tier1, tier2 and tier3 continue to pass with this change. ------------- Commit messages: - 8227493: lookupAllHostAddr does not handle EAI_SYSTEM correctly Changes: https://git.openjdk.org/jdk/pull/22484/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22484&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8227493 Stats: 34 lines in 4 files changed: 19 ins; 0 del; 15 mod Patch: https://git.openjdk.org/jdk/pull/22484.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22484/head:pull/22484 PR: https://git.openjdk.org/jdk/pull/22484