(first post)
Hi guys
I am trying to set-up a pair of directory servers. Both of them run
Ubuntu 8.04, which has OpenLDAP-2.4.9.
I started out with one server, configured that to suit my needs (store
UNIX and smb accounts), which works fine. Next thing is to set-up a
second 'slave' server.
After reading the docs, I decided to go for the syncrepl style
replication for our micro tree. Everything seems to work fine. If I
start the consumer it nicely pulls content from the provider.
Retrieving the whole tree with ldapsearch from both servers yields
exactly the same ldif. Great.
However, if I now change something on my main server a.k.a. provider
(f.i. change a password), the next time the consumers contacts the
provider, the provider crashes:
root@ldap:/etc/ldap# slapd -f slapd.conf -g openldap -u openldap -d 15
[snip]
*** glibc detected *** slapd: free(): invalid size: 0xb676ef08 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7c62a85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7c664f0]
/usr/lib/liblber-2.4.so.2(ber_memfree_x+0x4a)[0xb7f93b4a]
/usr/lib/ldap/syncprov-2.4.so.2[0xb787619a]
slapd(overlay_op_walk+0x34)[0x80da4e4]
slapd[0x80daaf7]
slapd(fe_op_search+0x313)[0x8078a73]
slapd(do_search+0x777)[0x80792e7]
slapd[0x807653f]
slapd[0x8076c36]
/usr/lib/libldap_r-2.4.so.2[0xb7fa4714]
/lib/tls/i686/cmov/libpthread.so.0[0xb7d4b4fb]
/lib/tls/i686/cmov/libc.so.6(clone+0x5e)[0xb7ccde5e]
======= Memory map: ========
Aborted
A slave server killing a master sort of defeats the whole purpose ;-)
Any ideas how to solve this?