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

(ITS#3719) slapd deadlock



Full_Name: Luke Howard
Version: 2.2.26
OS: Linux (PPC)
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (203.13.32.92)


slapd is hanging on a mutex -- notice that the mutex address looks suspect in
the backtrace (although this could just be gdb misbehaving). Myself, I've only
noticed this on PPC but it could be related to a customer problem reported on
Intel.

Note that the address of c->c_mutex is fine (eg. in connection_get()).

This occurs after running slapd for a few days. It is always possible that a
plugin is doing something nasty, so I will try and narrow that down (and run it
under valgrind).

Stack trace follows (no other thread is blocked on the mutex).

(gdb) info threads
  5 Thread 1473776416 (LWP 3400)  0x0fc4dad4 in pthread_cond_wait@@GLIBC_2.3.2
() from /lib/tls/libpthread.so.0
  4 Thread 1455942432 (LWP 3374)  0x0fc4dad4 in pthread_cond_wait@@GLIBC_2.3.2
() from /lib/tls/libpthread.so.0
  3 Thread 1438108448 (LWP 3373)  0x0fc4dad4 in pthread_cond_wait@@GLIBC_2.3.2
() from /lib/tls/libpthread.so.0
  2 Thread 1429719840 (LWP 3371)  0x0fc510a8 in __lll_lock_wait () from
/lib/tls/libpthread.so.0
* 1 Thread 1073998688 (LWP 3368)  0x0fc4b670 in pthread_join () from
/lib/tls/libpthread.so.0
(gdb) thread 2
[Switching to thread 2 (Thread 1429719840 (LWP 3371))]#0  0x0fc510a8 in
__lll_lock_wait () from /lib/tls/libpthread.so.0
(gdb) bt
#0  0x0fc510a8 in __lll_lock_wait () from /lib/tls/libpthread.so.0
#1  0x0fc4c5ec in pthread_mutex_lock () from /lib/tls/libpthread.so.0
#2  0x0ffb0838 in ldap_pvt_thread_mutex_lock (mutex=0x4) at thr_posix.c:295
#3  0x1001e020 in connection_get (s=898) at connection.c:311
#4  0x1001efdc in connection_read (s=898) at connection.c:1252
#5  0x1001baf8 in slapd_daemon_task (ptr=0x4) at daemon.c:1933
#6  0x0fc4aff4 in start_thread () from /lib/tls/libpthread.so.0
#7  0x0fbc1dd8 in clone () from /lib/tls/libc.so.6
(gdb)