Full_Name: Hallvard B Furuseth Version: HEAD OS: Solaris URL: Submission from: (NULL) (129.240.186.42) Submitted by: hallvard Slapd is deadlocked in test008. It is configured with ./configure --enable-aci --enable-crypt --enable-hdb --enable-bdb --enable-monitor --disable-debug It's linked with the dmalloc library, beacuse I'm trying to trace a coredump in malloc which only seems to happen when I'm not using a malloc debugger:-( Anyway, I'm keeping the process running for the time being, in case someone wants me to debug it further. Test output: ./scripts/test008-concurrency . hdb yes yes running defines.sh Datadir is ./data Cleaning up in ./test-db... Running slapadd to build slapd database... Waiting 5 seconds for slapadd to build slapd database... Starting slapd on TCP/IP port 9009... Using ldapsearch to check that slapd is running... Waiting 5 seconds for slapd to start... Using tester for concurrent server access... PID=1290 - Search(500): base="o=University of Michigan,c=US", filter="cn=Barbara Jensen". PID=1291 - Read(1000): entry="cn=Barbara Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US". PID=1292 - Modrdn(50): entry="cn=Dorothy Stevens,ou=Alumni Association,ou=People,o=University of Michigan,c=US". PID=1293 - Add/Delete(50): entry="cn=James A Jones 2,ou=Alumni Association,ou=People,o=University of Michigan,c=US". PID=1294 - Search(500): base="o=University of Michigan,c=US", filter="cn=Bjorn Jensen". PID=1295 - Read(1000): entry="cn=ITD Staff,ou=Groups,o=University of Michigan,c=US". PID=1302 - Search(500): base="o=University of Michigan,c=US", filter="PID=1298 - Search(500): base="o=University of Michigan,c=US", filter="cn=James A Jones 1". PID=1306 - Search(500): base="o=University of Michigan,c=US", filter="cn=Alumni Assoc Staff". PID=1300 - Modrdn(50): entry="cn=Ursula Hampster,ou=Alumni Association,ou=People,o=University of Michigan,c=US". cn=Bjorn Jensen". PID=1303 - Read(1000): entry="ou=Alumni Association, ou=People, o=University of Michigan, c=US". PID=1307 - Read(1000): entry="cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US". PID=1299 - Read(1000): entry="ou=Groups, o=University of Michigan, c=US". PID=1296 - Modrdn(50): entry="cn=John Doe,ou=Information Technology Division,ou=People,o=University of Michigan,c=US". PID=1304 - Modrdn(50): entry="cn=James A Jones 2,ou=Information Technology Division,ou=People,o=University of Michigan,c=US". PID=1297 - Add/Delete(50): entry="cn=James A Jones 3,ou=Alumni Association,ou=People,o=University of Michigan,c=US". PID=1301 - Add/Delete(50): entry="cn=James A Jones 4,ou=People,o=University of Michigan,c=US". PID=1305 - Add/Delete(50): entry="cn=James A Jones 5,o=University of Michigan,c=US". Gdb backtrace: bash$ gdb ../servers/slapd/slapd 1281 [Switching to Thread 4 (LWP 1)] 0xfef99ec4 in _poll () from /usr/lib/libc.so.1 (gdb) thread apply all bt Thread 21 (Thread 16 ): #0 0xfef9bd34 in _lwp_sema_wait () from /usr/lib/libc.so.1 #1 0xfeec9ab8 in _park () from /usr/lib/libthread.so.1 #2 0xfeec9780 in _swtch () from /usr/lib/libthread.so.1 #3 0xfeec8270 in cond_wait () from /usr/lib/libthread.so.1 #4 0xfeec811c in pthread_cond_wait () from /usr/lib/libthread.so.1 #5 0x00080cd0 in ldap_pvt_thread_cond_wait (cond=0x2654b0, mutex=0x265488) at thr_posix.c:254 #6 0x0007fb20 in ldap_pvt_thread_rdwr_wlock (rwlock=0x265488) at rdwr.c:245 #7 0x0006df0c in bdb_entryinfo_add_internal (bdb=0x1f5c08, ei=0xf80017f8, res=0xf80017f4, locker=25) at cache.c:210 #8 0x0006e30c in hdb_cache_find_ndn (op=0xdba008, txn=0x0, ndn=0xdba030, res=0xf80018bc, locker=25) at cache.c:367 #9 0x00070048 in hdb_dn2entry (op=0xdba008, tid=0x0, dn=0xdba030, e=0xf8001938, matched=1, locker=25, lock=0xf8001940) at dn2entry.c:44 #10 0x000602a0 in hdb_referrals (op=0xdba008, rs=0xf8001ad8) at referral.c:46 #11 0x00036374 in backend_check_referrals (op=0xdba008, rs=0xf8001ad8) at backend.c:1110 #12 0x0003a610 in do_modrdn (op=0xdba008, rs=0xf8001ad8) at modrdn.c:298 #13 0x0002f490 in connection_operation (ctx=0xf8001b80, arg_v=0xdba008) at connection.c:963 #14 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 20 (Thread 15 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e354 in hdb_cache_find_ndn (op=0xdcb608, txn=0x0, ndn=0xdcb630, res=0xf8741594, locker=24) at cache.c:386 #4 0x00070048 in hdb_dn2entry (op=0xdcb608, tid=0x0, dn=0xdcb630, e=0xf8741638, matched=1, locker=24, lock=0xf8741650) at dn2entry.c:44 #5 0x00060ee4 in hdb_do_search (op=0xdcb608, rs=0xf8801ad8, sop=0xdcb608, ps_e=0x0, ps_type=0) at search.c:510 #6 0x00060c8c in hdb_search (op=0xdcb608, rs=0xf8801ad8) at search.c:357 #7 0x000306a0 in do_search (op=0xdcb608, rs=0xf8801ad8) at search.c:395 #8 0x0002f544 in connection_operation (ctx=0xf8801b80, arg_v=0xdcb608) at connection.c:978 #9 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 19 (Thread 14 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e354 in hdb_cache_find_ndn (op=0xdcbc08, txn=0x0, ndn=0xdcbc30, res=0xf8f41594, locker=23) at cache.c:386 #4 0x00070048 in hdb_dn2entry (op=0xdcbc08, tid=0x0, dn=0xdcbc30, e=0xf8f41638, matched=1, locker=23, lock=0xf8f41650) at dn2entry.c:44 #5 0x00060ee4 in hdb_do_search (op=0xdcbc08, rs=0xf9001ad8, sop=0xdcbc08, ps_e=0x0, ps_type=0) at search.c:510 #6 0x00060c8c in hdb_search (op=0xdcbc08, rs=0xf9001ad8) at search.c:357 #7 0x000306a0 in do_search (op=0xdcbc08, rs=0xf9001ad8) at search.c:395 #8 0x0002f544 in connection_operation (ctx=0xf9001b80, arg_v=0xdcbc08) at connection.c:978 #9 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 18 (Thread 13 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e6a8 in hdb_cache_find_id (op=0xdcb508, tid=0x0, id=4, eip=0xf9741638, islocked=0, locker=22, lock=0xf9741650) at cache.c:531 #4 0x00061a74 in hdb_do_search (op=0xdcb508, rs=0xf9801ad8, sop=0xdcb508, ps_e=0x0, ps_type=0) at search.c:904 #5 0x00060c8c in hdb_search (op=0xdcb508, rs=0xf9801ad8) at search.c:357 #6 0x000306a0 in do_search (op=0xdcb508, rs=0xf9801ad8) at search.c:395 #7 0x0002f544 in connection_operation (ctx=0xf9801b80, arg_v=0xdcb508) at connection.c:978 #8 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 17 (Thread 12 ): #0 0xfeec8268 in cond_wait () from /usr/lib/libthread.so.1 #1 0xfeec811c in pthread_cond_wait () from /usr/lib/libthread.so.1 #2 0x00080cd0 in ldap_pvt_thread_cond_wait (cond=0x2654b0, mutex=0x265488) at thr_posix.c:254 #3 0x0007fb20 in ldap_pvt_thread_rdwr_wlock (rwlock=0x265488) at rdwr.c:245 #4 0x0006df0c in bdb_entryinfo_add_internal (bdb=0x1f5c08, ei=0xfa0017f8, res=0xfa0017f4, locker=21) at cache.c:210 #5 0x0006e30c in hdb_cache_find_ndn (op=0xdca008, txn=0x0, ndn=0xdca030, res=0xfa0018bc, locker=21) at cache.c:367 #6 0x00070048 in hdb_dn2entry (op=0xdca008, tid=0x0, dn=0xdca030, e=0xfa001938, matched=1, locker=21, lock=0xfa001940) at dn2entry.c:44 #7 0x000602a0 in hdb_referrals (op=0xdca008, rs=0xfa001ad8) at referral.c:46 #8 0x00036374 in backend_check_referrals (op=0xdca008, rs=0xfa001ad8) at backend.c:1110 #9 0x0003a610 in do_modrdn (op=0xdca008, rs=0xfa001ad8) at modrdn.c:298 #10 0x0002f490 in connection_operation (ctx=0xfa001b80, arg_v=0xdca008) at connection.c:963 #11 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 16 (Thread 11 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e354 in hdb_cache_find_ndn (op=0xdcbd08, txn=0x0, ndn=0xdcbd30, res=0xfa8018bc, locker=19) at cache.c:386 #4 0x00070048 in hdb_dn2entry (op=0xdcbd08, tid=0x0, dn=0xdcbd30, e=0xfa801938, matched=1, locker=19, lock=0xfa801940) at dn2entry.c:44 #5 0x000602a0 in hdb_referrals (op=0xdcbd08, rs=0xfa801ad8) at referral.c:46 #6 0x00036374 in backend_check_referrals (op=0xdcbd08, rs=0xfa801ad8) at backend.c:1110 #7 0x0003a610 in do_modrdn (op=0xdcbd08, rs=0xfa801ad8) at modrdn.c:298 #8 0x0002f490 in connection_operation (ctx=0xfa801b80, arg_v=0xdcbd08) at connection.c:963 #9 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 15 (Thread 10 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e6a8 in hdb_cache_find_id (op=0xdcbf08, tid=0x0, id=4, eip=0xfaf41638, islocked=0, locker=18, lock=0xfaf41650) at cache.c:531 #4 0x00061a74 in hdb_do_search (op=0xdcbf08, rs=0xfb001ad8, sop=0xdcbf08, ps_e=0x0, ps_type=0) at search.c:904 #5 0x00060c8c in hdb_search (op=0xdcbf08, rs=0xfb001ad8) at search.c:357 #6 0x000306a0 in do_search (op=0xdcbf08, rs=0xfb001ad8) at search.c:395 #7 0x0002f544 in connection_operation (ctx=0xfb001b80, arg_v=0xdcbf08) at connection.c:978 #8 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 14 (Thread 9 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e6a8 in hdb_cache_find_id (op=0xdcbe08, tid=0x0, id=4, eip=0xfb741638, islocked=0, locker=17, lock=0xfb741650) at cache.c:531 #4 0x00061a74 in hdb_do_search (op=0xdcbe08, rs=0xfb801ad8, sop=0xdcbe08, ps_e=0x0, ps_type=0) at search.c:904 #5 0x00060c8c in hdb_search (op=0xdcbe08, rs=0xfb801ad8) at search.c:357 #6 0x000306a0 in do_search (op=0xdcbe08, rs=0xfb801ad8) at search.c:395 #7 0x0002f544 in connection_operation (ctx=0xfb801b80, arg_v=0xdcbe08) at connection.c:978 #8 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 13 (Thread 8 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e6a8 in hdb_cache_find_id (op=0xdba108, tid=0x0, id=4, eip=0xfbf41638, islocked=0, locker=16, lock=0xfbf41650) at cache.c:531 #4 0x00061a74 in hdb_do_search (op=0xdba108, rs=0xfc001ad8, sop=0xdba108, ps_e=0x0, ps_type=0) at search.c:904 #5 0x00060c8c in hdb_search (op=0xdba108, rs=0xfc001ad8) at search.c:357 #6 0x000306a0 in do_search (op=0xdba108, rs=0xfc001ad8) at search.c:395 #7 0x0002f544 in connection_operation (ctx=0xfc001b80, arg_v=0xdba108) at connection.c:978 #8 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 12 (Thread 7 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e278 in hdb_cache_find_ndn (op=0x266b08, txn=0xdbfb88, ndn=0xfc8019a0, res=0xfc801784, locker=2147483674) at cache.c:349 #4 0x0005f8c0 in hdb_modrdn (op=0x266b08, rs=0xfc801ad8) at modrdn.c:672 #5 0x0003a6d4 in do_modrdn (op=0x266b08, rs=0xfc801ad8) at modrdn.c:366 #6 0x0002f490 in connection_operation (ctx=0xfc801b80, arg_v=0x266b08) at connection.c:963 #7 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 11 (Thread 6 (LWP 3)): #0 0xfef9bce8 in ___lwp_cond_wait () from /usr/lib/libc.so.1 #1 0xfef932b0 in _lwp_cond_wait () from /usr/lib/libc.so.1 #2 0x000e6840 in __db_pthread_mutex_lock () #3 0x000c4624 in __lock_get_internal () #4 0x000c3b70 in __lock_get () #5 0x0006de5c in bdb_cache_entry_db_lock (env=0x1e3c08, locker=14, ei=0xdbfd88, rw=1, tryOnly=0, lock=0xfd001838) at cache.c:104 #6 0x0006e78c in hdb_cache_find_id (op=0x266108, tid=0x0, id=4, eip=0xfd0017b4, islocked=1, locker=14, lock=0xfd001838) at cache.c:567 #7 0x000700bc in hdb_dn2entry (op=0x266108, tid=0x0, dn=0x4, e=0xfd001830, matched=1, locker=14, lock=0xfd001838) at dn2entry.c:52 #8 0x000602a0 in hdb_referrals (op=0x266108, rs=0xfd001ad8) at referral.c:46 #9 0x00036374 in backend_check_referrals (op=0x266108, rs=0xfd001ad8) at backend.c:1110 #10 0x00032710 in do_add (op=0x266108, rs=0xfd001ad8) at add.c:229 #11 0x0002f418 in connection_operation (ctx=0xfd001b80, arg_v=0x266108) at connection.c:953 #12 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 10 (Thread 5 ): #0 0xfeecb140 in _mutex_adaptive_lock () from /usr/lib/libthread.so.1 #1 0xfeecbbf8 in pthread_mutex_lock () from /usr/lib/libthread.so.1 #2 0x00080d10 in ldap_pvt_thread_mutex_lock (mutex=0x0) at thr_posix.c:288 #3 0x0006e6a8 in hdb_cache_find_id (op=0x267108, tid=0x0, id=4, eip=0xfd741638, islocked=0, locker=12, lock=0xfd741650) at cache.c:531 #4 0x00061a74 in hdb_do_search (op=0x267108, rs=0xfd801ad8, sop=0x267108, ps_e=0x0, ps_type=0) at search.c:904 #5 0x00060c8c in hdb_search (op=0x267108, rs=0xfd801ad8) at search.c:357 #6 0x000306a0 in do_search (op=0x267108, rs=0xfd801ad8) at search.c:395 #7 0x0002f544 in connection_operation (ctx=0xfd801b80, arg_v=0x267108) at connection.c:978 #8 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 9 (Thread 3 ): #0 0xfeecddb4 in _reap_wait () from /usr/lib/libthread.so.1 #1 0xfeecdb14 in _reaper () from /usr/lib/libthread.so.1 Thread 8 (Thread 2 (LWP 2)): #0 0xfef9b684 in _signotifywait () from /usr/lib/libc.so.1 #1 0xfeeced54 in _dynamiclwps () from /usr/lib/libthread.so.1 Thread 7 (Thread 1 ): #0 0xfeecde0c in _reap_wait_cancel () from /usr/lib/libthread.so.1 #1 0xfeed00a0 in _thrp_join () from /usr/lib/libthread.so.1 #2 0x00080c38 in ldap_pvt_thread_join (thread=4277071384, thread_return=0x4) at thr_posix.c:158 #3 0x0002e73c in slapd_daemon () at daemon.c:1993 #4 0x000291dc in main (argc=8, argv=0xffbef534) at main.c:579 Thread 6 (LWP 2 ): #0 0xfef9b684 in _signotifywait () from /usr/lib/libc.so.1 #1 0xfeeced54 in _dynamiclwps () from /usr/lib/libthread.so.1 Thread 5 (LWP 3 ): #0 0xfef9bce8 in ___lwp_cond_wait () from /usr/lib/libc.so.1 #1 0xfef932b0 in _lwp_cond_wait () from /usr/lib/libc.so.1 #2 0x000e6840 in __db_pthread_mutex_lock () #3 0x000c4624 in __lock_get_internal () #4 0x000c3b70 in __lock_get () #5 0x0006de5c in bdb_cache_entry_db_lock (env=0x1e3c08, locker=14, ei=0xdbfd88, rw=1, tryOnly=0, lock=0xfd001838) at cache.c:104 #6 0x0006e78c in hdb_cache_find_id (op=0x266108, tid=0x0, id=4, eip=0xfd0017b4, islocked=1, locker=14, lock=0xfd001838) at cache.c:567 #7 0x000700bc in hdb_dn2entry (op=0x266108, tid=0x0, dn=0x4, e=0xfd001830, matched=1, locker=14, lock=0xfd001838) at dn2entry.c:52 #8 0x000602a0 in hdb_referrals (op=0x266108, rs=0xfd001ad8) at referral.c:46 #9 0x00036374 in backend_check_referrals (op=0x266108, rs=0xfd001ad8) at backend.c:1110 #10 0x00032710 in do_add (op=0x266108, rs=0xfd001ad8) at add.c:229 #11 0x0002f418 in connection_operation (ctx=0xfd001b80, arg_v=0x266108) at connection.c:953 #12 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 4 (LWP 4 ): #0 0xfef9bd34 in _lwp_sema_wait () from /usr/lib/libc.so.1 #1 0xfeec9ab8 in _park () from /usr/lib/libthread.so.1 #2 0xfeec9780 in _swtch () from /usr/lib/libthread.so.1 #3 0xfeec8270 in cond_wait () from /usr/lib/libthread.so.1 #4 0xfeec811c in pthread_cond_wait () from /usr/lib/libthread.so.1 #5 0x00080cd0 in ldap_pvt_thread_cond_wait (cond=0x2654b0, mutex=0x265488) at thr_posix.c:254 #6 0x0007fb20 in ldap_pvt_thread_rdwr_wlock (rwlock=0x265488) at rdwr.c:245 #7 0x0006df0c in bdb_entryinfo_add_internal (bdb=0x1f5c08, ei=0xf80017f8, res=0xf80017f4, locker=25) at cache.c:210 #8 0x0006e30c in hdb_cache_find_ndn (op=0xdba008, txn=0x0, ndn=0xdba030, res=0xf80018bc, locker=25) at cache.c:367 #9 0x00070048 in hdb_dn2entry (op=0xdba008, tid=0x0, dn=0xdba030, e=0xf8001938, matched=1, locker=25, lock=0xf8001940) at dn2entry.c:44 #10 0x000602a0 in hdb_referrals (op=0xdba008, rs=0xf8001ad8) at referral.c:46 #11 0x00036374 in backend_check_referrals (op=0xdba008, rs=0xf8001ad8) at backend.c:1110 #12 0x0003a610 in do_modrdn (op=0xdba008, rs=0xf8001ad8) at modrdn.c:298 #13 0x0002f490 in connection_operation (ctx=0xf8001b80, arg_v=0xdba008) at connection.c:963 #14 0x0008043c in ldap_int_thread_pool_wrapper (xpool=0x1e9a88) at tpool.c:463 Thread 3 (LWP 5 ): #0 0xfef99228 in door_restart () from /usr/lib/libc.so.1 Thread 2 (Thread 4 (LWP 1)): #0 0xfef99ec4 in _poll () from /usr/lib/libc.so.1 #1 0xfef4ccac in select () from /usr/lib/libc.so.1 #2 0xfeedb0f4 in select () from /usr/lib/libthread.so.1 Thread 1 (LWP 1 ): #0 0xfef99ec4 in _poll () from /usr/lib/libc.so.1 #1 0xfef4ccac in select () from /usr/lib/libc.so.1 #2 0xfeedb0f4 in select () from /usr/lib/libthread.so.1 #0 0xfef99ec4 in _poll () from /usr/lib/libc.so.1 (gdb) detach
Someone kick me, please... I didn't even notice the two latest threads, doing select(). 'truss -p' shows that slapd is looping, doing the system calls poll(0xFE001108, 20, 0) = 0 yield() = 0 time() = 1054845428 A select() loop with no timeout and no intervening sleep(). Here is another GDB session with the same process. All but the two bottom thread were the same. These two were doing yield(). Thread 2 (Thread 4 (LWP 1)): #0 0xfef9c3a0 in yield () from /usr/lib/libc.so.1 #1 0x00080c64 in ldap_pvt_thread_yield () at thr_posix.c:183 #2 0x0002e670 in slapd_daemon_task (ptr=0x3edfacd7) at daemon.c:1892 Thread 1 (LWP 1 ): #0 0xfef9c3a0 in yield () from /usr/lib/libc.so.1 #1 0x00080c64 in ldap_pvt_thread_yield () at thr_posix.c:183 #2 0x0002e670 in slapd_daemon_task (ptr=0x3edfacd7) at daemon.c:1892 #0 0xfef9c3a0 in yield () from /usr/lib/libc.so.1 (gdb) n Single stepping until exit from function yield, which has no line number information. ldap_pvt_thread_yield () at thr_posix.c:199 199 } (gdb) n slapd_daemon_task (ptr=0x3edfacd7) at daemon.c:1258 1258 now = slap_get_time(); (gdb) 1260 if( ( global_idletimeout > 0 ) && (gdb) 1266 tv = idle; (gdb) p idle $1 = {tv_sec = 0, tv_usec = 0} (gdb) n 1269 if( slapd_gentle_shutdown ) { (gdb) n 1289 FD_ZERO( &writefds ); (gdb) n 1290 FD_ZERO( &readfds ); (gdb) 1292 at = 0; (gdb) 1294 ldap_pvt_thread_mutex_lock( &slap_daemon.sd_mutex ); (gdb) 1306 AC_MEMCPY( &readfds, &slap_daemon.sd_readers, sizeof(fd_set) ); (gdb) 1307 AC_MEMCPY( &writefds, &slap_daemon.sd_writers, sizeof(fd_set) ); (gdb) 1310 FD_SET( wake_sds[0], &readfds ); (gdb) p readfds $2 = {fds_bits = {268434496, 0 <repeats 31 times>}} (gdb) set radix 16 Input and output radices now set to decimal 16, hex 10, octal 20. (gdb) p readfds $3 = {fds_bits = {0xffffc40, 0x0 <repeats 31 times>}} (gdb) p writefds $4 = {fds_bits = {0x0 <repeats 32 times>}} (gdb) n 1312 for ( l = 0; slap_listeners[l] != NULL; l++ ) { (gdb) p wake_sds[0] $5 = 0x4 (gdb) p readfds $6 = {fds_bits = {0xffffc50, 0x0 <repeats 31 times>}} (gdb) n 1313 if ( slap_listeners[l]->sl_sd == AC_SOCKET_INVALID ) (gdb) 1315 if ( slap_listeners[l]->sl_is_mute ) (gdb) 1318 if (!FD_ISSET(slap_listeners[l]->sl_sd, &readfds)) (gdb) 1323 nfds = slap_daemon.sd_nfds; (gdb) 1327 if ( global_idletimeout && slap_daemon.sd_nactives ) (gdb) 1330 ldap_pvt_thread_mutex_unlock( &slap_daemon.sd_mutex ); (gdb) 1332 if ( !at ) { (gdb) 1333 at = ldap_pvt_thread_pool_backload(&connection_pool) - (gdb) 1337 tvp = at ? &tv : NULL; (gdb) p at $7 = 0x12 (gdb) p tv $8 = {tv_sec = 0x0, tv_usec = 0x0} (gdb) n 1340 ldap_pvt_thread_mutex_lock( &syncrepl_rq.rq_mutex ); (gdb) n 1341 rtask = ldap_pvt_runqueue_next_sched( &syncrepl_rq, &cat ); (gdb) n 1342 while ( cat && cat->tv_sec && cat->tv_sec <= now ) { (gdb) 1355 ldap_pvt_thread_mutex_unlock( &syncrepl_rq.rq_mutex ); (gdb) 1357 if ( cat != NULL ) { (gdb) 1394 NULL, tvp )) (gdb) n 1892 ldap_pvt_thread_yield(); (gdb) detach -- Hallvard
changed notes changed state Open to Test moved from Incoming to Development
changed state Test to Closed
moved from Development to Archive.Development
fixed?