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

(ITS#3464) back-meta and deadlock



Full_Name: Sébastien Georget
Version: 2.2.20
OS: linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (138.96.66.17)


Given the following (simplified) configuration :

===
threads 2

database        bdb
suffix          "o=A,dc=domain"

database        meta
suffix          "dc=domain"
uri             "ldap://127.0.0.1/o=A,dc=domain";
===

slapd(-meta) hangs when two clients try to (simultaneously) do the following
sequence :
- anonymous binding
- search with base dc=domain
- unbinding

In debug mode a <ctrl-c> results in :
slapd shutdown: waiting for 4 threads to terminate

And the slapd daemon must be killed with SIGKILL.

Notes :
- there is no problem doing a search with base o=A,dc=domain
- the problem doesn't occur when the bdb and the meta backends are handled by
two different slapd
- the search filter doesn't seem to have an impact


The deadlock may result from the fact that slapd(-meta) accepts two connections
from the clients and 'forward' them to the bdb backend who cannot answer because
the max threads limit is reached.