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

modrdn/server crashing (ITS#1942)



Full_Name: Gaylord Holder
Version: 2.0.21-1mdk
OS: linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (129.25.6.204)


I'm running openldap-2.0.21 on Mandrake 8.1 with libdb3.2-3.2.29-2.

I've migrated my password file in to the ldap database and everything has been
working great for weeks.

Today, I've tried using ldapmodrdn(1) and the server soon crashes.

Initially, I can run the following ldapsearch 10 or more time. 
ldapsearch -x -D "cn=Manager,dc=mcs,dc=drexel,dc=edu,o=intern
et" -w 'secret' -b ou=People,dc=mcs,dc=drexel,dc=edu,o=internet  uid=gholder
version: 2

#
# filter: uid=gholder
# requesting: ALL
#

# gholder, People, mcs, drexel, edu, internet
dn: uid=gholder,ou=People,dc=mcs,dc=drexel,dc=edu,o=internet
uid: gholder
cn: Gaylord Holder
givenName: Gaylord
sn: Holder
mail: gholder@dc=mcs,dc=drexel,dc=edu,o=internet
mailLocalAddress: gholder@dc=mcs,dc=drexel,dc=edu,o=internet
mailForwardingAddress: gholder@mail.mcs.drexel.edu
mailHost: mail.mcs.drexel.edu
objectClass: inetLocalMailRecipient
objectClass: person
objectClass: organizationalPerson
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: kerberosSecurityObject
userPassword:: e2NyeXB0fXZvcjR4ZTRHVzJJY2s=
krbName: gholder@DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET
loginShell: /usr/local/bin/bash
uidNumber: 2140
gidNumber: 100
homeDirectory: /home/gholder
gecos: Gaylord Holder


If I run the following ldapmodrd,
ldapmodrdn -r -x -D "cn=Manager,dc=mcs,dc=drexel,dc=edu,o=internet" -w
'Lrn4an)w' uid=gholder,ou=People,dc=mcs,dc=drexel,dc=edu,o=internet  uid=foo,

the server is still running even after several minutes.  I can search the old
dn
repeatedly (more than 10 time).  If I search the new rdn (uid=foo), it returns
the first time with the correct entry, but crashes on the next search.

The last page of running slapd with -d 1777 shows:

=> ldbm_back_search
dn2entry_r: dn: "OU=PEOPLE,DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET"
=> dn2id( "OU=PEOPLE,DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET" )
====> cache_find_entry_dn2id("OU=PEOPLE,DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET"): 2
(1 tries)
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_id( 2 ) "ou=People,dc=mcs,dc=drexel,dc=edu,o=internet"
(found) (1 tries)
<= id2entry_r( 2 ) 0x80e83f8 (cache)
search_candidates: base="OU=PEOPLE,DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET" s=2 d=0
=> filter_candidates
        AND
=> list_candidates 0xa0
=> filter_candidates
        DN SUBTREE
=> dn2idl( "@OU=PEOPLE,DC=MCS,DC=DREXEL,DC=EDU,O=INTERNET" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
Segmentation fault

Would this be a problem with slapd's cache not be invalidated correctly?

-Gaylord