Full_Name: Danilo Poccia Version: 1.2.9 OS: HP-UX 11.00 URL: Submission from: (NULL) (192.6.59.72) I use BerkeleyDB 2.77 as the backend. When I try to define more than 10 indexes I have an 'operations error' during an ldapadd then uses all of that. I have seen, using slapd with the full debug (-d 65535), than there is a 'Bad file number' during then 11th 'ldbm_cache_open', which probably opens an already opened file. That function is defined in 'servers/slapd/back-ldbm/dbcache.c' and uses, as the cache size, the MAXDBCACHE define of 'servers/slapd/back-ldbm/back-ldbm.h' which defaults to 10. The problems seems to happen where there are MAXDBCACHE files open by 'ldbm_cache_open' and all are used (dbc_refcnt > 0). When there is a request of another 'cache open', a thread lock waits for a cache to be reassigned, but the next 'ldbm_cache_open' on that file gives the 'Bad file number' error. As as quick fix I have increased the MAXDBCACHE value to 100, a value that I think I will not reach, but I think that a better fix can be done. I have used both pthread and lthread (--without-threads to configure script).
changed notes changed state Open to Test moved from Incoming to Software Bugs
changed notes changed state Test to Closed
Seems like a reasonable workaround released with 1.2.11