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

Re: test001-slapdadd stalled (ITS#679)



Thanks for the traces (which I redirected to the ITS so that
we can appropriate track this issue).

Thread 6 appears to waiting on a connection's c_mutex.
Thread 5 appears to have this c_mutex, but is blocked on a read.
Thread 4 is the main thread and is in a normal (join) wait.

So, the question is, why is stream read is blocked?

I don't have an answer to this yet... will try to look into
further when I get the chance.  Any stream state information
(server and client side) you could provide would be useful.

Kurt


At 04:47 PM 9/12/00 +0000, manabu@iij.ad.jp wrote:
>Hi, Kurt.
>
>Date: Sat, 09 Sep 2000 18:11:50 -0700
>Subject: Re: test001-slapdadd stalled (ITS#679)
>From: "Kurt D. Zeilenga" <Kurt@OpenLDAP.org> sez:
>
>:the deadlock (apparently on c_mutex).  If you have a thread
>:aware debugger, you can help by attaching to the deadlock'ed
>:process and obtaining a stack trace for each thread.
>
>Well, here's 'bt' results by gdb.
>
>---from  
>(gdb) attach 2485
>Attaching to program `/var/tmp/openldap-2.0.1/servers/slapd/slapd', process 2485    
>0x48187575 in _syscall_sys_select ()
>(gdb) bt
>#0  0x48187575 in _syscall_sys_select ()
>#1  0x48218028 in _thread_aio_poll ()
>#2  0x48213b59 in _thread_kern_switch ()
>#3  0x48213fc5 in _thread_kern_block ()
>#4  0x482144e6 in pthread_mutex_lock ()
>#5  0x807b13b in ldap_pvt_thread_mutex_lock (mutex=0x81ce548)
>    at thr_posix.c:207
>#6  0x805a121 in do_bind (conn=0x81ce540, op=0x81cd580) at bind.c:56
>#7  0x804e309 in connection_operation (arg_v=0x81cca60) at connection.c:767
>#8  0x807af64 in ldap_int_thread_pool_wrapper (pool=0x81b3080) at tpool.c:377
>#9  0x48213d7c in _thread_kern_start ()
>(gdb) info threads
>* 6 thread 0x8159600  0x48187575 in _syscall_sys_select ()
>  5 thread 0x8159500  0x48213c20 in _thread_kern_switch ()
>  4 thread 0x8159200  0x48213c20 in _thread_kern_switch ()
>(gdb) thread 6
>[Switching to thread 0x8159600]
>#0  0x48187575 in _syscall_sys_select ()
>(gdb) bt
>#0  0x48187575 in _syscall_sys_select ()
>#1  0x48218028 in _thread_aio_poll ()
>#2  0x48213b59 in _thread_kern_switch ()
>#3  0x48213fc5 in _thread_kern_block ()
>#4  0x482144e6 in pthread_mutex_lock ()
>#5  0x807b13b in ldap_pvt_thread_mutex_lock (mutex=0x81ce548)
>    at thr_posix.c:207
>#6  0x805a121 in do_bind (conn=0x81ce540, op=0x81cd580) at bind.c:56
>#7  0x804e309 in connection_operation (arg_v=0x81cca60) at connection.c:767
>#8  0x807af64 in ldap_int_thread_pool_wrapper (pool=0x81b3080) at tpool.c:377
>#9  0x48213d7c in _thread_kern_start ()
>(gdb) thread 5
>[Switching to thread 0x8159500]
>#0  0x48213c20 in _thread_kern_switch ()
>(gdb) bt
>#0  0x48213c20 in _thread_kern_switch ()
>#1  0x48213fc5 in _thread_kern_block ()
>#2  0x482181ea in _thread_aio_suspend ()
>#3  0x48218de4 in _thread_sys_read ()
>#4  0x808ca91 in sb_stream_read (sbiod=0x81cbb00, buf=0x81d9000, len=16384)
>    at sockbuf.c:449
>#5  0x808cd07 in sb_rdahead_read (sbiod=0x81cbb20, buf=0x81c4b10, len=1)
>    at sockbuf.c:613
>#6  0x808d065 in sb_debug_read (sbiod=0x81cbb40, buf=0x81c4b10, len=1)
>    at sockbuf.c:779
>#7  0x808c98e in ber_int_sb_read (sb=0x81cba20, buf=0x81c4b10, len=1)
>    at sockbuf.c:366
>#8  0x808b4b1 in ber_get_next (sb=0x81cba20, len=0x4828966c, ber=0x81c4b00)
>    at io.c:509
>#9  0x804e802 in connection_input (conn=0x81ce540) at connection.c:1024
>#10 0x804e6ce in connection_read (s=7) at connection.c:983
>#11 0x804cd77 in slapd_daemon_task (ptr=0x0) at daemon.c:1135
>#12 0x48213d7c in _thread_kern_start ()
>(gdb)  thread 4
>[Switching to thread 0x8159200]
>#0  0x48213c20 in _thread_kern_switch ()
>(gdb) bt
>#0  0x48213c20 in _thread_kern_switch ()
>#1  0x48213fc5 in _thread_kern_block ()
>#2  0x48213908 in pthread_join ()
>#3  0x807b0a2 in ldap_pvt_thread_join (thread=0x8159500, thread_return=0x0)
>    at thr_posix.c:123
>#4  0x804cfb1 in slapd_daemon () at daemon.c:1206
>#5  0x804add8 in main (argc=7, argv=0x80478a0) at main.c:425
>#6  0x804a827 in __start ()
>(gdb) 
>---end
>
>-- 
>Manabu Kondo / manabu@iij.ad.jp