The failing test always gets through about 16-18 connects before hanging.
All of the hung threads are hanging in the same place, on SocketInputStream.socketRead, which was ultimately called from MapiSocket.connect(). Below is a copy of the stack.
I'm running the 11.13.7 release with the 2.8 JDBC driver, server on Ubuntu Linux, client on MacOS. The database to which I'm connecting is configured to accept 64 connections.
Thread [Thread-28] (Suspended)
owns: BufferedInputStream (id=78)
owns: InputStreamReader (id=79)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int, int) line: 150
SocketInputStream.read(byte[], int, int) line: 121
BufferedInputStream.fill() line: 235
BufferedInputStream.read1(byte[], int, int) line: 275
BufferedInputStream.read(byte[], int, int) line: 334
MapiSocket$BlockInputStream._read(byte[], int) line: 846
MapiSocket$BlockInputStream.readBlock() line: 895
MapiSocket$BlockInputStream.read(byte[], int, int) line: 965
StreamDecoder.readBytes() line: 283
StreamDecoder.implRead(char[], int, int) line: 325
StreamDecoder.read(char[], int, int) line: 177
InputStreamReader.read(char[], int, int) line: 184
BufferedMCLReader(BufferedReader).fill() line: 154
BufferedMCLReader(BufferedReader).readLine(boolean) line: 317
BufferedMCLReader(BufferedReader).readLine() line: 382
BufferedMCLReader.readLine() line: 119
MapiSocket.connect(String, int, String, String, boolean) line: 275
MapiSocket.connect(String, int, String, String) line: 248
MonetConnection.<init>(Properties) line: 232
MonetDriver.connect(String, Properties) line: 171
DriverManager.getConnection(String, Properties, ClassLoader) line: 579
DriverManager.getConnection(String, String, String) line: 221
GetConnectionTest$DoGetConnection.run() line: 37
Thread.run() line: 722