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:
slapd.conf sample data in LDIF gdb output showing thread trace after breaking in script of client commands
The build options were:
CFLAGS=-g 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 \ --with-tls
For those that need it, the workaround with Apache Directory Studio is to disable alias dereferencing in the Browser Options tab for the connection.
Andrew