[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: bdb_locker_id: err Cannot allocate memory(12)

Raphaël Ouazana-Sustowski wrote:

I have a problem with an OpenLDAP server version 2.3.30. It is configured
with many databases (more than 100), and when I try a search I get this
error message:
bdb_locker_id: err Cannot allocate memory(12)

I tried to play with different parameters of DB_CONFIG (locks, cache_size,
etc.) and slapd.conf (threads in particular) but without any result.

Looking at the code I found that the function ldap_pvt_thread_pool_setkey
(where it seems the error is from) doesn't allocate memory, but uses a
fixed size table ctx of length MAXKEYS.
Do you think I need to increase the MAXKEYS value, or that the problem is
from somewhere else?

Seems like increasing MAXKEYS will make a difference here. However, that pool_setkey/getkey code uses a simple linear search to deal with keys. It won't perform very well with huge numbers of them.

Thanks in advance for your help,
Raphaël Ouazana.

  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP     http://www.openldap.org/project/