On Linux, it is possible to encounter a problem with exiting netldi child processes not being reaped properly, leaving defunct processes behind. Eventually the netldi process runs out of file descriptors and fails with an error similar to:
Error: open(/opt/gemstone/locks/gemstone.hostid, O_EXCL | O_CREAT | O_APPEND | O_RDWR) failed with errno=24,EMFILE, The process has too many open files.
You can determine if you are subject to this bug by executing the following:
unix> ps -ef | grep defunct | grep gem
Periodically stop / restart the netldi process.
If this is insufficient, contact GemStone Technical Support. It is possible to use the 3.2.14 netldi with older GemStone versions; download a 3.2.14 version of GemStone/64 and replace the $GEMSTONE/sys/netldid executable with the netldid from 3.2.14. This should be carefully tested before using in production. We have verified this work-around on 3.2.8.1 and believe it should work on other 3.2.X versions.
Last updated: 5/12/16