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"