--On Tuesday, March 10, 2009 1:26 AM +0000 quanah@zimbra.com wrote:
--On Tuesday, March 10, 2009 1:23 AM +0000 openldap-its@OpenLDAP.org wrote:
This doesn't look good to me...
(gdb) thread 1 [Switching to thread 1 (process 5616)]#1 0x00000000004c41ff in slap_parse_csn_sid (csnp=0xde63140) at ../../../servers/slapd/ldapsync.c:129 129 p = ber_bvchr( &csn, '#' ); (gdb) print p $4 = 0x434388a0 "??????\210CC" (gdb) print csn $5 = {bv_len = 226880736, bv_val = 0x0}
Unable to reproduce the segfault so far, but I got a lock in lt-slapd2 now:
(gdb) thr apply all bt
Thread 4 (Thread 1085503808 (LWP 26643)): #0 0x00002b89ae006496 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00002b89ad84abd3 in ldap_pvt_thread_cond_wait (cond=0x1056b320, mutex=0x1056b2f8) at ../../../libraries/libldap_r/thr_posix.c:277 #2 0x00002b89ad849398 in ldap_pvt_thread_pool_destroy (tpool=0x7a3de8, run_pending=1) at ../../../libraries/libldap_r/tpool.c:570 #3 0x0000000000435cf5 in slapd_daemon_task (ptr=0x0) at ../../../servers/slapd/daemon.c:2600 #4 0x00002b89ae0022f7 in start_thread () from /lib64/libpthread.so.0 #5 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 3 (Thread 1102289216 (LWP 26660)): #0 0x000000395e0b8c17 in sched_yield () from /lib64/libc.so.6 #1 0x00002b89ad84ab53 in ldap_pvt_thread_yield () at ../../../libraries/libldap_r/thr_posix.c:232 #2 0x00000000004b1203 in do_syncrepl (ctx=0x41b38d90, arg=0x10988850) at ../../../servers/slapd/syncrepl.c:1264 #3 0x00002b89ad8496b7 in ldap_int_thread_pool_wrapper (xpool=0x1056b2f0) at ../../../libraries/libldap_r/tpool.c:663 #4 0x00002b89ae0022f7 in start_thread () from /lib64/libpthread.so.0 #5 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 2 (Thread 1119074624 (LWP 26686)): #0 0x000000395e0b8c17 in sched_yield () from /lib64/libc.so.6 #1 0x00002b89ad84ab53 in ldap_pvt_thread_yield () at ../../../libraries/libldap_r/thr_posix.c:232 #2 0x00000000004b1203 in do_syncrepl (ctx=0x42b3ad90, arg=0x10987fc0) at ../../../servers/slapd/syncrepl.c:1264 #3 0x00002b89ad8496b7 in ldap_int_thread_pool_wrapper (xpool=0x1056b2f0) at ../../../libraries/libldap_r/tpool.c:663 #4 0x00002b89ae0022f7 in start_thread () from /lib64/libpthread.so.0 #5 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 1 (Thread 47870363381552 (LWP 26628)): #0 0x00002b89ae0035b5 in pthread_join () from /lib64/libpthread.so.0 #1 0x00002b89ad84ab2b in ldap_pvt_thread_join (thread=1085503808, thread_return=0x0) at ../../../libraries/libldap_r/thr_posix.c:197 #2 0x0000000000435dbf in slapd_daemon () at ../../../servers/slapd/daemon.c:2665 #3 0x0000000000418104 in main (argc=8, argv=0x7ffffd2726d8) at ../../../servers/slapd/main.c:948 #0 0x00002b89ae0035b5 in pthread_join () from /lib64/libpthread.so.0 (gdb) thread 2 [Switching to thread 2 (Thread 1119074624 (LWP 26686))]#0 0x000000395e0b8c17 in sched_yield () from /lib64/libc.so.6 (gdb) frame 2 #2 0x00000000004b1203 in do_syncrepl (ctx=0x42b3ad90, arg=0x10987fc0) at ../../../servers/slapd/syncrepl.c:1264 1264 ldap_pvt_thread_yield(); (gdb) print si->si_mutex $1 = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1761636208, __spins = 1667449208, __list = {__prev = 0x45440027746e756f, __next = 0xa1}}, __size = '\0' <repeats 16 times>, "po\000ixAccount'\000DE�\000\000\000\000\000\000", __align = 0}
Why would it be stuck waiting for an unlocked mutex to be released?
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration