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

(ITS#6846) Deadlock in back-meta

Full_Name: Jorge Perez Burgos
Version: 2.4.15
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (

There is a deadlock in back-meta code, the problem is that this thread get the
lock two times, the first is the one that show the trace, but previous in the
method meta_back_retry it has already the lock.

(gdb) bt
#0  0x00002b6e1a0706a8 in __lll_mutex_lock_wait () from /lib64/libpthread.so.0
#1  0x00002b6e1a06c9fb in _L_mutex_lock_92 () from /lib64/libpthread.so.0
#2  0x00002b6e1a06c455 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00000000004eb715 in meta_back_bind_op_result (op=0x2aab35d80020,
rs=0x6eb6ad20, mc=0x2aab35e58be0,
    candidate=4, msgid=1, sendok=<value optimized out>) at bind.c:388
#4  0x00000000004eba9f in meta_back_proxy_authz_bind (mc=0x2aab35e58be0,
candidate=4, op=0x2aab35d80020,
    rs=0x6eb6ad20, sendok=LDAP_BACK_SENDERR) at bind.c:1534
#5  0x00000000004ebc21 in meta_back_single_dobind (op=0x2aab35d80020,
rs=0x6eb6ad20, mcp=0x6eb6a750, candidate=4,
    sendok=LDAP_BACK_SENDERR, nretries=276864893, dolock=0) at bind.c:600
#6  0x00000000004f3c4f in meta_back_retry (op=0x2aab35d80020, rs=0x6eb6ad20,
mcp=0x6eb6a750, candidate=4,
    sendok=LDAP_BACK_SENDERR) at conn.c:721
#7  0x00000000004e9ffc in meta_back_add (op=0x2aab35d80020, rs=0x6eb6ad20) at
#8  0x000000000044c196 in fe_op_add (op=0x2aab35d80020, rs=0x6eb6ad20) at
#9  0x00000000004a4832 in overlay_op_walk (op=0x2aab35d80020, rs=0x6eb6ad20,
which=op_add, oi=0x905850, on=0x0)
    at backover.c:669
#10 0x00000000004a4db5 in over_op_func (op=0x2aab35d80020, rs=0x6eb6ad20,
which=op_add) at backover.c:721
#11 0x000000000044ca02 in do_add (op=0x2aab35d80020, rs=0x6eb6ad20) at
#12 0x0000000000445bab in connection_operation (ctx=0x6eb6ae70, arg_v=<value
optimized out>) at connection.c:1115
#13 0x0000000000446087 in connection_read_thread (ctx=0x6eb6ae70, argv=<value
optimized out>) at connection.c:1241
#14 0x000000000052398a in ldap_int_thread_pool_wrapper (xpool=0x788e70) at
#15 0x00002b6e1a06a193 in start_thread () from /lib64/libpthread.so.0
#16 0x00002b6e19814dfd in clone () from /lib64/libc.so.6