Tuesday, August 19, 2008

Fatal lock manager error: semaphores are exhausted

If you get this message in firebird.log
Fatal lock manager error: semaphores are exhausted, errno: 1

It means that you sould try to increase semaphores count in firebird.conf.
Applications at Linux use semaphores to interchange data. More interesting question is why semaphores are exhausted? The most common answer is that some other software (probably, it was developed not well enough), that starts before Firebird, consumes significant amount of semaphores from OS.
Firebird itself is modest in terms of semaphores.

Thus, maybe you need not to increase semaphores count, but check order of programs being started at OS start. Also maybe you will need to increase semaphores count in OS configuration (and recompile the OS kernel, if needed).