> The test java/net/Socket/UdpSocket.java has been seen to fail with a > BindException, in the testMaxSockets test, on a regular basis on > macOS-aarch64 platform. testMaxSockets tests the maximum number of UDP > Sockets that may be created as defined by a system property > sun.net.maxDatagramSockets. It invokes the Socket constructor > Socket(InetAddress host, int port, boolean stream) with stream set to false > to create a UDP Socket. This instantiation is a compound operation, > consisting of the creation of a socket, the explicit binding of wildcard > address and ephemeral port, and a connect to the socket end point specified > in the constructor parameters. Analysis has shown that during the test that > the OS intermittently allocates the same ephemeral port multiple times during > the bind system call, such that two separate sockets end up bound to the same > port. Then on the connect invocation a BindException is thrown for the second > socket. This has been determined to be a transient condition duri ng heavy loads and where a significant number of ephemeral ports are being allocated. > > As this is deemed an OS issues, and in order to increase test stability, it > has been found that for the BindException condition a retry of the Socket > creation mitigates the issues and tests the max creation property.
Mark Sheppard has updated the pull request incrementally with one additional commit since the last revision: JDK-8265362 java/net/Socket/UdpSocket.java fails with "java.net.BindException: Address already in use" (macos-aarch64) update as per request by AB ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4103/files - new: https://git.openjdk.java.net/jdk/pull/4103/files/1f05203e..87cd9c5e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4103&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4103&range=00-01 Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/jdk/pull/4103.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4103/head:pull/4103 PR: https://git.openjdk.java.net/jdk/pull/4103