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

(ITS#8146) Slapd with mdb consumes 100% CPU if deref aliases is requested

Full_Name: Andrew Findlay
Version: 2.4.40
OS: Linux: OpenSuSE 13.2
URL: ftp://ftp.openldap.org/incoming/openldap-mdb-spin-bug.tgz
Submission from: (NULL) (2001:8b0:8d0:f7e1:61a6:169e:b4ba:9954)

Some client programs (such as Apache Directory Studio) request alias
dereferencing by default. This puts slapd with mdb into a spin where it consumes
100% of a CPU. Other threads continue to work and new connections are accepted.
Timeouts do not terminate the spin. Disconnecting the client does not terminate
the spin.

To reproduce: start slapd and issue a search of the form:

ldapsearch -a search -x -b dc=example,dc=org objectclass=person

I have placed a tarball on the FTP server containing:

sample data in LDIF
gdb output showing thread trace after breaking in
script of client commands

The build options were:

export CFLAGS

./configure     --prefix=/meme/andrew/test/openldap-2.4.40 \
                --enable-spasswd \
                --enable-crypt \
                --enable-slapi \
                --enable-overlays \
                --enable-hdb=no \
                --enable-bdb=no \
                --enable-ldap \
                --enable-rewrite \
                --enable-meta \
                --enable-null \
                --enable-monitor \
                --enable-relay \
                --enable-sock \
                --with-cyrus-sasl \

For those that need it, the workaround with Apache Directory Studio is to
disable alias dereferencing in the Browser Options tab for the connection.