Bug 45888

GemStone/S 64 Bit

3.2.11, 3.2.10, 3.2.9, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2

Linux only

3.2.12

Netldi leaves defunct processes, eventually fails with too many open files

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

Workaround

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