[jdk17] RFR: JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java failed with "SocketException: Cannot allocate memory"
Mark Sheppard
msheppar at openjdk.java.net
Mon Jun 14 16:20:04 UTC 2021
… failed with "SocketException: Cannot allocate memory
The test java/net/MulticastSocket/Promiscuous.java has been observed to fail on a regular basis on macosx-aarch.
This is typically under heavy test load on a test machine. Analysis of the problem have
shown that the setsockopt for joining a multicast group will intermittently fail with ENOMEM.
While analysis of test environment shows significant memory usage and some memory pressure, it is
not excessive and as such it is deemed transition or temporary condition, such that a retry of the
setsockopt system call, has been seen to mitigate the issue. This adds to the stability of the
Promiscuous.java test and reduces test failure noise.
The proposed fix is in open/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c
in the mcast_join_leave function. That is, if setsockopt to join an mcast group fails, and the errno == ENOMEM,
then re-invoke the setsockopt system call for joining a mcast group.
The change has been applied as a conditional compilation.
Additionally this change result in the Promiscuous.java test being removed from the
ProblemList.txt.
Please oblige and review the changes for a fix of the issue JDK-8265369
-------------
Commit messages:
- JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java failed with "SocketException: Cannot allocate memory"
- JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java failed with "SocketException: Cannot allocate memory"
- JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java failed with "SocketException: Cannot allocate memory
Changes: https://git.openjdk.java.net/jdk17/pull/44/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=44&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8265369
Stats: 51 lines in 2 files changed: 43 ins; 1 del; 7 mod
Patch: https://git.openjdk.java.net/jdk17/pull/44.diff
Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/44/head:pull/44
PR: https://git.openjdk.java.net/jdk17/pull/44
More information about the net-dev
mailing list