[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