[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5841) slapd hanging upon shutdown
Full_Name: Ralf Haferkamp
Version: HEAD, RE24
OS:
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (89.166.134.124)
After doing these two ldapmodify calls, shutting down slapd while the indexing
task is running does not work anymore. slapd just keeps hanging.
# ldapmodify -H ldapi:///
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: cn eq,sub
The above modification will trigger the indexing task.
# ldapmodify -H ldapi:///
dn: cn=config
replace: olcSizeLimit
olcSizeLimit: 10000
When this operation is send while the indexing task is still running, it will
wait for the task to complete. When slapd is shutdown during this timeframe, it
will just lock up. Here is the backtrace of the hanging process:
Thread 3 (Thread 0x7ff2ca2a5950 (LWP 13006)):
#0 0x00007ff2ce07fd59 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
No symbol table info available.
#1 0x00007ff2d02f24fb in ldap_pvt_thread_pool_destroy (tpool=0x853688,
run_pending=1) at ../../../libraries/libldap_r/tpool.c:570
pool = <value optimized out>
pptr = (struct ldap_int_thread_pool_s *) 0x885540
task = <value optimized out>
#2 0x0000000000431f9f in slapd_daemon_task (ptr=<value optimized out>) at
../../../servers/slapd/daemon.c:2591
l = 2
last_idle_check = 0
ebadf = 0
#3 0x00007ff2ce07c070 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007ff2cddef0ed in clone () from /lib64/libc.so.6
No symbol table info available.
#5 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 2 (Thread 0x7ff2c9aa4950 (LWP 13007)):
#0 0x00007ff2ce07fd59 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
No symbol table info available.
#1 0x00007ff2d02f2a4d in ldap_int_thread_pool_wrapper (xpool=<value optimized
out>) at ../../../libraries/libldap_r/tpool.c:654
pool = (struct ldap_int_thread_pool_s *) 0x885540
task = (ldap_int_thread_task_t *) 0x0
work_list = (ldap_int_tpool_plist_t *) 0x1c
ctx = {ltu_id = 140680742193488, ltu_key = {{ltk_key = 0x4337e0,
ltk_data = 0xb0ee20, ltk_free = 0x4338b0 <conn_counter_destroy>}, {
ltk_key = 0x488c10, ltk_data = 0xb0ef30, ltk_free = 0x488710
<slap_sl_mem_destroy>}, {ltk_key = 0x4478f0, ltk_data = 0xb0e9d0,
ltk_free = 0x4476d0 <slap_op_q_destroy>}, {ltk_key = 0x0, ltk_data = 0x0,
ltk_free = 0} <repeats 29 times>}}
kctx = <value optimized out>
keyslot = 829
hash = <value optimized out>
__PRETTY_FUNCTION__ = "ldap_int_thread_pool_wrapper"
#2 0x00007ff2ce07c070 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#3 0x00007ff2cddef0ed in clone () from /lib64/libc.so.6
No symbol table info available.
#4 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 1 (Thread 0x7ff2d0714710 (LWP 12992)):
#0 0x00007ff2ce07c7b5 in pthread_join () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x000000000042ee3c in slapd_daemon () at
../../../servers/slapd/daemon.c:2656
listener_tid = 140680750586192
rc = 0
#2 0x000000000041cd95 in main (argc=7, argv=0x7fffd874b9e8) at
../../../servers/slapd/main.c:948
i = <value optimized out>
no_detach = 1
rc = -12
urls = 0x854030 "ldap:/// ldapi:///"
username = 0x0
groupname = 0x0
sandbox = 0x0
syslogUser = 160
configfile = 0x0
configdir = 0x854010 "/etc/openldap/slapd.d"
serverName = 0x7fffd874d63b "lt-slapd"
scp = <value optimized out>
scp_entry = <value optimized out>
debug_unknowns = (char **) 0x0
syslog_unknowns = (char **) 0x0
slapd_pid_file_unlink = 1
slapd_args_file_unlink = 1
firstopt = <value optimized out>
__PRETTY_FUNCTION__ = "main"