Hello,
i have the same problem with 2 Ubuntu 9.04 Systems with the current build from HEAD. I created 20000 entries at server1. Then i created another 20000 entries at server1 while reading the old and new entries from server1 and server2. Here is the backtrace:
slapd: pthread_mutex_lock.c:289: __pthread_mutex_lock: Assertion `(-(e)) != 3 || !robust' failed.
Program received signal SIGABRT, Aborted. [Switching to Thread 0x923f9b90 (LWP 17860)] 0xb7fe0430 in __kernel_vsyscall () (gdb) bt #0 0xb7fe0430 in __kernel_vsyscall () #1 0xb7b756d0 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7b77098 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7b6e5ce in __assert_fail () from /lib/tls/i686/cmov/libc.so.6 #4 0xb7e5df29 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0 #5 0x0813fccb in ldap_pvt_thread_mutex_lock (mutex=0x8bc64dc) at thr_posix.c:296 #6 0xb7998e8e in syncprov_op_mod (op=0x8bc3690, rs=0x923f911c) at syncprov.c:1965 #7 0x08105bfd in overlay_op_walk (op=0x8bc3690, rs=0x923f911c, which=op_modify, oi=0x87e9d18, on=0x87eeef0) at backover.c:659 #8 0x08105e9a in over_op_func (op=0x8bc3690, rs=0x923f911c, which=op_modify) at backover.c:721 #9 0x08105fc7 in over_op_modify (op=0x8bc3690, rs=0x923f911c) at backover.c:760 #10 0x080a117e in fe_op_modify (op=0x8bc3690, rs=0x923f911c) at modify.c:301 #11 0x080a0a6d in do_modify (op=0x8bc3690, rs=0x923f911c) at modify.c:175 #12 0x08082a43 in connection_operation (ctx=0x923f9210, arg_v=0x8bc3690) at connection.c:1123 #13 0x08082f8b in connection_read_thread (ctx=0x923f9210, argv=0x12) at connection.c:1259 #14 0x0813eb0e in ldap_int_thread_pool_wrapper (xpool=0x87af8e8) at tpool.c:685 #15 0xb7e5c4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #16 0xb7c2e49e in clone () from /lib/tls/i686/cmov/libc.so.6
Please let me know if i can provide additional information for you. (But please tell me how to do so, my gdb knowledge is fairly poor)
Regards, Frank Offermanns