Today my Fedora Directory Server indices could not be updated anymore. Every entry creation requiring an index modification (like adding an inetOrgPerson entry, requiring modifying the index of uid attribute) would fail with "operation error". In the ns-slapd logs there was this message:

[31/Jan/2007:12:01:03 +0100] - libdb: Lock table is out of available object entries
[31/Jan/2007:12:01:03 +0100] - libdb: Lock table is out of available object entries
[31/Jan/2007:12:01:03 +0100] - idl_new.c BAD 50, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1130, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1140, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1230, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - database index operation failed BAD 1030, err=12 Cannot allocate memory
[31/Jan/2007:12:01:03 +0100] - add: attempt to index 12 failed

I tried to modify the DB_CONFIG files since I was thinking of a Berkeley DB configuration issue. In fact the problem seemed to be linked with the presence of temporary data files in the db/ directory.

[root@fedoracore6 slapd-fedoracore6]# ls db/
__db.001        __db.004        DBVERSION       NetscapeRoot/
__db.002        __db.005        guardian        userRoot/
__db.003        DB_CONFIG       log.0000000001
[root@fedoracore6 slapd-fedoracore6]# rm db/log.0000000001
[root@fedoracore6 slapd-fedoracore6]# rm db/__db.00*

After a restart-slapd the problem was solved.