… 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

Reply via email to