[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#7296) slapd stuck (in async mode) after client disconnection
Full_Name: gerard gobillard
Version: 2.4.30
OS: RHEL 5.2
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (92.139.226.97)
Hello all,
Summary : on an Intel basic box (dual core) we create search base traffic with
slamd in asynchronous mode (30 threads). When, after 1 or 2 seconds, Ctrl-C is
sent to slamd (SIGINT), slapd gets stuck with main thread in epoll_wait() and
all other threads in pthread_cond_wait() (in send_ldap_ber()). It may be
necessary to repeat a few times before slapd gets stuck
Notes : no change to slapd.conf except RootDN.
We build OpenLDAP as follows :
CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include -g"
export CPPFLAGS
LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.7/lib
-R/usr/local/BerkeleyDB.4.7/lib"
export LDFLAGS
LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.7/lib
./configure --prefix=/usr/slapd.2.4.23.Dbg --enable-spasswd=yes
--enable-crypt=yes --disable-syslog --enable-debug --enable-ppolicy
make depend
make
make install
gstack:
[root@lalxsdmcomp db-5.2.36]# gstack 19444
Thread 18 (Thread 1099237696 (LWP 19445)):
#0 0x0000003cf08d21d8 in epoll_wait () from /lib64/libc.so.6
#1 0x000000000042bf11 in slapd_daemon_task ()
#2 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#3 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 17 (Thread 1112529216 (LWP 19463)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 16 (Thread 1120921920 (LWP 19464)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 15 (Thread 1129314624 (LWP 19465)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 14 (Thread 1137707328 (LWP 19466)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 13 (Thread 1146100032 (LWP 19467)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 12 (Thread 1154492736 (LWP 19468)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 11 (Thread 1162885440 (LWP 19469)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x00000000004446a0 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 10 (Thread 1171278144 (LWP 19470)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 9 (Thread 1087490368 (LWP 19471)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 8 (Thread 1179670848 (LWP 19472)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 7 (Thread 1188063552 (LWP 19473)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 6 (Thread 1196456256 (LWP 19474)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x00000000004446a0 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 5 (Thread 1204848960 (LWP 19475)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 4 (Thread 1213241664 (LWP 19476)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 3 (Thread 1221634368 (LWP 19477)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x0000000000444428 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 2 (Thread 1230027072 (LWP 19478)):
#0 0x0000003cf140a4b6 in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x00000000004446a0 in send_ldap_ber ()
#2 0x00000000004477da in slap_send_search_entry ()
#3 0x00000000004cdbe6 in bdb_search ()
#4 0x00000000004334e4 in fe_op_search ()
#5 0x0000000000432d9b in do_search ()
#6 0x000000000042fec7 in connection_operation ()
#7 0x000000000056562c in ldap_int_thread_pool_wrapper ()
#8 0x0000003cf1406307 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003cf08d1ded in clone () from /lib64/libc.so.6
Thread 1 (Thread 47813429243440 (LWP 19444)):
#0 0x0000003cf14075c5 in pthread_join () from /lib64/libpthread.so.0
#1 0x000000000042cf32 in slapd_daemon ()
#2 0x000000000040d2a0 in main ()
#0 0x0000003cf14075c5 in pthread_join () from /lib64/libpthread.so.0
netstat:
[root@lalxsdmcomp db-5.2.36]# netstat -pan | grep :389
tcp 0 0 0.0.0.0:389 0.0.0.0:*
LISTEN 19444/slapd
tcp 28071 0 172.25.198.71:389 172.25.195.198:38743
CLOSE_WAIT 19444/slapd
tcp 14026 0 172.25.198.71:389 172.25.195.198:38749
CLOSE_WAIT 19444/slapd
tcp 57221 0 172.25.198.71:389 172.25.195.198:38751
CLOSE_WAIT 19444/slapd
tcp 31304 0 172.25.198.71:389 172.25.195.198:38750
CLOSE_WAIT 19444/slapd
tcp 38300 0 172.25.198.71:389 172.25.195.198:38745
CLOSE_WAIT 19444/slapd
tcp 83048 0 172.25.198.71:389 172.25.195.198:38744
ESTABLISHED 19444/slapd
tcp 3433 0 172.25.198.71:389 172.25.195.198:38747
CLOSE_WAIT 19444/slapd
tcp 11058 0 172.25.198.71:389 172.25.195.198:38746
CLOSE_WAIT 19444/slapd
tcp 47204 0 172.25.198.71:389 172.25.195.198:38757
CLOSE_WAIT 19444/slapd
tcp 36392 0 172.25.198.71:389 172.25.195.198:38756
CLOSE_WAIT 19444/slapd
tcp 2341 0 172.25.198.71:389 172.25.195.198:38759
CLOSE_WAIT 19444/slapd
tcp 73183 0 172.25.198.71:389 172.25.195.198:38758
ESTABLISHED 19444/slapd
tcp 71796 0 172.25.198.71:389 172.25.195.198:38753
CLOSE_WAIT 19444/slapd
tcp 78209 0 172.25.198.71:389 172.25.195.198:38752
CLOSE_WAIT 19444/slapd
tcp 35915 0 172.25.198.71:389 172.25.195.198:38755
CLOSE_WAIT 19444/slapd
tcp 12701 0 172.25.198.71:389 172.25.195.198:38754
CLOSE_WAIT 19444/slapd
tcp 20333 0 172.25.198.71:389 172.25.195.198:38765
CLOSE_WAIT 19444/slapd
tcp 74817 0 172.25.198.71:389 172.25.195.198:38764
CLOSE_WAIT 19444/slapd
tcp 73757 0 172.25.198.71:389 172.25.195.198:38767
CLOSE_WAIT 19444/slapd
tcp 2705 0 172.25.198.71:389 172.25.195.198:38766
CLOSE_WAIT 19444/slapd
tcp 36180 0 172.25.198.71:389 172.25.195.198:38761
CLOSE_WAIT 19444/slapd
tcp 75029 0 172.25.198.71:389 172.25.195.198:38760
CLOSE_WAIT 19444/slapd
tcp 49112 0 172.25.198.71:389 172.25.195.198:38763
CLOSE_WAIT 19444/slapd
tcp 8726 0 172.25.198.71:389 172.25.195.198:38762
CLOSE_WAIT 19444/slapd
tcp 44 0 172.25.198.71:389 172.25.195.198:38772
ESTABLISHED -
tcp 4005 0 172.25.198.71:389 172.25.195.198:38769
CLOSE_WAIT 19444/slapd
tcp 17789 0 172.25.198.71:389 172.25.195.198:38768
CLOSE_WAIT 19444/slapd
tcp 9945 0 172.25.198.71:389 172.25.195.198:38770
CLOSE_WAIT 19444/slapd
tcp 0 0 :::389 :::*
LISTEN 19444/slapd
Provides attachments at https://online-storage.yuuwaa.com/s/HkSdr/94bc6ba666
slapd_stuck.log - openldap logs
populBlits.ldif - ldif file to get a blitz population (that's what we used but
it works with any other data)
testWriteTO.pl - a Perl script to loop thru client disconnection