On Wed, 16 Jun 2021 22:10:56 GMT, Mark Sheppard <mshep...@openjdk.org> wrote:
>> JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java 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 > > Mark Sheppard has updated the pull request incrementally with one additional > commit since the last revision: > > JDK-8265369 [macos-aarch64] java/net/MulticastSocket/Promiscuous.java > failed with "SocketException: Cannot allocate memory" > amendments as per suggestion from Chris Hegarty src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c line 2112: > 2110: res = setsockopt(fd, IPPROTO_IPV6, (join ? ADD_MEMBERSHIP : > DRP_MEMBERSHIP), > 2111: (char *) &mname6, sizeof (mname6)); > 2112: Seems to be an extraneous space after sizeof here. ------------- PR: https://git.openjdk.java.net/jdk17/pull/44