000025726 - Error: 'Error in socket accept() on port: 5608 error=java.net.SocketException: Too many open files' in RSA ClearTrust Dispatcher Log

Document created by RSA Customer Support Employee on Jun 16, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000025726
Applies ToRSA ClearTrust 5.5.x Runtime API
RSA ClearTrust 5.5.x Administrative API
IssueError: "Error in socket accept() on port: 5608,error=java.net.SocketException: Too many open files" in RSA ClearTrust Dispatcher Log

Whenever a socket connection is opened, a file descriptor is allocated to the connection; the file descriptor is released on closing the socket. Operating systems have limits on the number of file descriptors available; this limit is usually configurable, but generally large enough that starvation indicates a coding error, rather than an insufficiently powerful platform. For example, on Solaris, processes have a default upper limit of 1,024 file descriptors (configurable), while Windows 2000 Server defaults to 16,384 (a 14-bit number). Given the unlikelihood of needing 1,024 concurrent socket connections, the presence of descriptor starvation probably indicates a failure of a high volume process to release the connection.

The ClearTrust dispatcher does not release sockets immediately upon disconnection; thus, under a heavy load, it's possible for a client to exhaust the pool of file descriptors, if new connections are made faster than they can be released
ResolutionCustom client code should be written to reuse connections, either by maintaining a single connection that is treated as a shared resource, or by using a connection pool/manager.

NOTE: RSA ClearTrust Agents are written with connection pools that reuse open connections, avoiding having too large a number of simultaneously open connections. This problem could be the result of custom client code that, for example, connects to the Authorizations server each time a request is made to the client to authenticate a user. For more information, see http://support.bea.com/support_news/product_troubleshooting/Too_Many_Open_Files_Pattern.html.
Legacy Article IDa23785