[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#3671) disconnecting a syncrepl consumer deadlocks the provider
On Monday 25 April 2005 00:10, Howard Chu wrote:
> This is now fixed in HEAD, although some further discussion about the
> queueing behavior may be warranted.
I just tested HEAD again. Now it shows a different behaviour. The first
ldapadd that I started after pulling the network plug still stops
progressing after a few entries. The improvement is that the provider
keeps processing search requests and addtional add request (only the
first ldapadd is locked).
On the downside the (locked) ldapadd didn't resume operation after I
reconnected the network cable. I tried to stop the consumer then and
this made the provider crash with the following backtrace:
Thread 5 (process 20944):
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0xbffff258 in ?? ()
No symbol table info available.
#2 0x000051dd in ?? ()
No symbol table info available.
#3 0x00000000 in ?? ()
No symbol table info available.
#4 0x4030307f in pthread_join () from /lib/tls/libpthread.so.0
No symbol table info available.
#5 0x40025000 in ldap_pvt_thread_join (thread=1104513968,
thread_return=0x0)
at thr_posix.c:165
No locals.
#6 0x0806371d in slapd_daemon () at daemon.c:2048
listener_tid = 1104513968
rc = 0
#7 0x08059294 in main (argc=3, argv=0xbffff384) at main.c:784
val = Variable "val" is not available.
#0 0xffffe410 in ?? ()
Thread 4 (process 20958):
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0x41f59268 in ?? ()
No symbol table info available.
#2 0x000000fb in ?? ()
No symbol table info available.
#3 0x00000000 in ?? ()
No symbol table info available.
#4 0x40304a56 in pthread_cond_wait () from /lib/tls/libpthread.so.0
No symbol table info available.
#5 0x40024ec0 in ldap_pvt_thread_cond_wait (cond=0x819aa8c,
mutex=0x819aa74)
at thr_posix.c:261
No locals.
#6 0x400247db in ldap_int_thread_pool_wrapper (xpool=0x819aa70) at
tpool.c:468
ctx = (ldap_int_thread_ctx_t *) 0x0
ltc_key = {{ltk_key = 0x80a50f0, ltk_data = 0x82003e0,
ltk_free = 0x80a4c30 <slap_sl_mem_destroy>}, {ltk_key = 0x80a1530,
ltk_data = 0x0, ltk_free = 0}, {ltk_key = 0x81fdfa0, ltk_data = 0xf,
ltk_free = 0x80d0900 <bdb_locker_id_free>}, {ltk_key = 0x80b9810,
ltk_data = 0x42e60008, ltk_free = 0x80b98c0 <search_stack_free>}, {
ltk_key = 0x0, ltk_data = 0x0, ltk_free = 0} <repeats 28 times>}
tid = 1106615216
i = Variable "i" is not available.
#0 0xffffe410 in ?? ()
Thread 3 (process 20960):
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0x4225b268 in ?? ()
No symbol table info available.
#2 0x000000fc in ?? ()
No symbol table info available.
#3 0x00000000 in ?? ()
No symbol table info available.
#4 0x40304a56 in pthread_cond_wait () from /lib/tls/libpthread.so.0
No symbol table info available.
#5 0x40024ec0 in ldap_pvt_thread_cond_wait (cond=0x819aa8c,
mutex=0x819aa74)
at thr_posix.c:261
No locals.
#6 0x400247db in ldap_int_thread_pool_wrapper (xpool=0x819aa70) at
tpool.c:468
ctx = (ldap_int_thread_ctx_t *) 0x0
ltc_key = {{ltk_key = 0x80a50f0, ltk_data = 0x8201970,
ltk_free = 0x80a4c30 <slap_sl_mem_destroy>}, {ltk_key = 0x81fdfa0,
ltk_data = 0x10, ltk_free = 0x80d0900 <bdb_locker_id_free>}, {
ltk_key = 0x80a1530, ltk_data = 0x0, ltk_free = 0}, {ltk_key =
0x80b9810,
ltk_data = 0x43661008, ltk_free = 0x80b98c0 <search_stack_free>}, {
ltk_key = 0x0, ltk_data = 0x0, ltk_free = 0} <repeats 28 times>}
tid = 1109769136
i = Variable "i" is not available.
#0 0xffffe410 in ?? ()
Thread 2 (process 20967):
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0x4255c1b8 in ?? ()
No symbol table info available.
#2 0x00000002 in ?? ()
No symbol table info available.
#3 0x00000000 in ?? ()
No symbol table info available.
#4 0x4030705e in siglongjmp () from /lib/tls/libpthread.so.0
No symbol table info available.
#5 0x40304ae5 in pthread_cond_wait () from /lib/tls/libpthread.so.0
No symbol table info available.
#6 0x40024ec0 in ldap_pvt_thread_cond_wait (cond=0x41afe040,
mutex=0x41afdf8c)
at thr_posix.c:261
No locals.
#7 0x08073ded in send_ldap_ber (conn=0x41afdf80, ber=0x4255c5d0)
at result.c:209
err = Variable "err" is not available.
#0 0xffffe410 in ?? ()
Thread 1 (process 20957):
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0x41d54c9c in ?? ()
No symbol table info available.
#2 0x00000006 in ?? ()
No symbol table info available.
#3 0x000051dd in ?? ()
No symbol table info available.
#4 0x403372c1 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#5 0x40338b75 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#6 0x40330903 in __assert_fail () from /lib/tls/libc.so.6
No symbol table info available.
#7 0x08067b45 in connection_close (c=0x41afdf80) at connection.c:650
sd = 11
#8 0x080685b6 in connection_read (s=11) at connection.c:1280
rc = -2
c = (Connection *) 0x41afdf80
#9 0x0806433d in slapd_daemon_task (ptr=0x0) at daemon.c:1882
rd = Variable "rd" is not available.
--
regards,
Ralf