[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#3617) ldap_modrdn2 hangs a slapd server
Full_Name: Carlo Contavalli
Version: 2.2.23
OS: Debian GNU/Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (213.140.6.112)
Hello,
ok, openldap 2.2.23, hdb backend, sometimes, slapd hangs
while one of our application calls:
ldap_modrdn2(ld, dn, newrdn, deleteoldrdn)
I can reproduce this problem quite regularly. I attached gdb,
and seems like the slapd thread in charge of handling the
request is looping over (back-bdb/cache.c:981):
980 [...]
981 for ( pei = ein; pei->bei_parent; pei = pei->bei_parent ) {
982 if ( pei->bei_modrdns > max ) max = pei->bei_modrdns;
983 }
984 [...]
by printing the content of pei, I can clearly see pei->bei_parent,
at a certain point, loops back to the first entry, thus causing an
infinite loop. That piece of code is executed while the bdb_cache_entryinfo
is locked, thus causing the whole slapd process to stop.
I have looked to the 2.2.24 changelog, and doesn't seem like
this problem has been solved.
If you need further information, please let me know.
Cheers,
Carlo