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

(ITS#7032) LDAP Server not answering a request

Full_Name: Pantelis Petridis
Version: 2.4.23
OS: RedHat Enterprise Linux 4 x86_64
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (

I am using OpenLDAP 2.4.23 with the Oracle Berkeley DB backend.
After a few hours the OpenLDAP stops answering an ldapsearch request. The
OpenLDAP server is blocking when I execute a command like the following: 

-> Monitor backend
ldapsearch -H "ldap://"; -D cn=monitoring,cn=Monitor -W -b
"cn=Current,cn=Connections,cn=Monitor" -x -s sub '*' '+'

-> BDB backend
ldapsearch -H "ldap://"; -D cn=Resources -W -b "cn=Resources" -x
-s sub

I can see with
top -Hp  <pid of slapd>
that one thread is working 100%.

With kill -11 I created a corefile and I found out that the thread is in the
cache.c file in line 1367. That is the while loop in back-bdb\cache.c

	while ( busy ) {
		busy = 0;
		bdb_cache_entryinfo_lock( ei );
		if (( ei->bei_state & ( CACHE_ENTRY_NOT_LINKED |
			ei->bei_finders > 0 )
			busy = 1;
		bdb_cache_entryinfo_unlock( ei );

It seems that the entry ei can not be deleted from the cache.

I tried also to kill the slapd with executing the following command (many
kill <pid of slapd> 
but it did not work. Only kill -9 <pid of slapd> killed the slapd process.

Do you have some information about what happened? Is there any explanation why
the LDAP Server does not answer an LDAP request? Is there a workaround?