FLEXlm error: -1, 73 system error: 24 "Too many open files"
Users typically run into this problem when ESRI_LICENSE_FILE (or LM_LICENSE_FILE) is set to license file path and they are making multiple SDE connections in short succession (as is seen when using a shell script to make SDE connections). When this happens, the Unix file descriptors limit can be reached, causing the ArcSDE client to report the above error. When the ArcSDE client finds its license information through a path, e.g., ESRI_LICENSE_FILE set to $SDEHOME/sysgen/license.dat, a file descriptor is used. If ArcSDE client finds its information through a TCP port e.g., ESRI_LICENSE_FILE set to 27005@licserver, a file descriptor is not used.
A file descriptor is defined as: Whenever a process wants to use a file, it must first open that file. When the process does so, the Unix system associates a number with the file, called a file descriptor. After the process is finished with a file, it closes the file which frees the file descriptor.
To resolve this issue is fairly simple. Set ESRI_LICENSE_FILE to <port>@<host> configuration and/or raise the DESCRIPTORS limit in the shell script or current session:
% limit descriptors 128
Each Unix platform defines what its per-shell file descriptor limit is; the command 'ulimit -a' (all Unix platforms) will tell you what the current descriptors limit is set to, and limit -h will tell you the system's hard limits are.