When using a c++ client, each time a connection is attempted with ssl an extra socket is created that is not closed. This can cause the process to exceed the maximum number of file descriptors allowed which results in a crash in the qpid library.
This problem is especially obvious when the connection fails, because each retry results in leaking another descriptor.
The extra socket is created in the SslSocket constructor on this line:
The resulting descriptor is never closed.