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

Re: (ITS#3617) ldap_modrdn2 hangs a slapd server

More information about the sequence of operations to reproduce this 
problem would help. I am unable to reproduce it so far, using 2.2.24.

ccontavalli@commedia.it wrote:

>Full_Name: Carlo Contavalli
>Version: 2.2.23
>OS: Debian GNU/Linux
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (
>  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.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support