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

ldapmordrn loses records (ITS#78)

Full_Name: Roy Hooper
Version: 1.2.0-RELEASE
OS: Solaris 2.6x86
Submission from: (NULL) (

I am using OpenLDAP-1.2.0-RELEASE with the configure options:
./configure --with-threads=lwp --with-ldbm-api=db2

db2 is = 2.3.16

When I "ldapmodrdn [-r] uid=OLDUID,ou=People,o=cyberus.ca uid=NEWUID", searching
for the new or old dn or uid does not work.  The entry appears to get "lost". 
When I restart slapd, the entry can be found again.  If I use -r, the old
attribute is still there (it should have been replaced/delete).

If I perform a large search after one of these modrdn calls, the slapd will go

Core was generated by `/usr/local/libexec/slapd'.
Program terminated with signal 9, Killed.

(gdb) where
#0  0xdff499a1 in __sigprocmask ()
#1  0xdff42a99 in _resetsig ()
#2  0xdff4250a in _sigon ()
#3  0xdff404a0 in _lmutex_unlock ()
#4  0xdff4492e in _thrp_kill ()
#5  0xdff447d9 in pthread_kill ()
#6  0xdfeee243 in raise ()
#7  0xdfedeeb8 in abort ()
#8  0x809daa3 in __eprintf (string=0x80a1824 "%s:%u: failed assertion `%s'\n", 
    expression=0x80a181c "cache.c", line=202, 
    filename=0x80a17f1 "!ldap_pvt_thread_rdwr_active( &e->e_rdwr )")
#9  0x80648a0 in cache_add_entry (cache=0x80ad5bc, e=0x80abfa0, state=0)
    at cache.c:202
#10 0x8067810 in id2entry (be=0x80ad0a8, id=10015, rw=0) at id2entry.c:155
#11 0x806788c in id2entry_r (be=0x80ad0a8, id=10015) at id2entry.c:165
#12 0x806aad9 in ldbm_back_search (be=0x80ad0a8, conn=0x80b5f88, op=0x80aec00, 
    base=0x80abba1 "", scope=2, deref=0, slimit=-804, tlimit=-1, 
    filter=0x8ab41b8, filterstr=0x8a46990 "(uid=A*)", attrs=0x0, attrsonly=0)
    at search.c:173
#13 0x8057247 in do_search (conn=0x80b5f88, op=0x80aec00) at search.c:149
#14 0x805694e in connection_operation (arg_v=0x8a46c68) at connection.c:74

The extra space isn't showing up.

I'm about to check if this bug exists with gdbm.