erthink/ReOpenLDAP

CRITICAL: mdb-backend could sporadically skip few record while searching

Closed this issue · 2 comments

This issue may be due error(s) in MDBX.

*** Signal 7 (Ошибка шины), address is 0x7f6055cb87be from 0x6a458b
    Executable file /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/slapd

data.mdb: 7f6055c7c000-7f605667c000, A00000
offset: 7F6055CB87BE−7f6055c7c000 = 03C7BE

*** Backtrace by addr2line:
(0) 0x6a458b: mdb_node_search у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/back-mdb/./../../../libraries/liblmdb/mdb.c:5401
(1) 0x6b5a4c: mdb_cursor_set у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/back-mdb/./../../../libraries/liblmdb/mdb.c:6208
(2) 0x6af4cf: mdbx_cursor_get у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/back-mdb/./../../../libraries/liblmdb/mdb.c:6436
(3) 0x7b57ae: mdb_id2edata у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/back-mdb/id2entry.c:132
(4) 0x6e351d: mdb_search у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/back-mdb/search.c:891
(5) 0x664369: overlay_op_walk у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/backover.c:695
(6) 0x66477b: over_op_func у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/backover.c:747
(7) 0x8c498d: syncprov_findcsn у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/overlays/syncprov.c:842
(8) 0x8cbcdc: syncprov_op_search у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/overlays/syncprov.c:3179 (discriminator 1)
(9) 0x664299: overlay_op_walk у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/backover.c:677
(10) 0x66477b: over_op_func у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/backover.c:747
(11) 0x548ff5: fe_op_search у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/search.c:404
(12) 0x547b23: do_search у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/search.c:247
(13) 0x5419dc: connection_operation у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/connection.c:1198
(14) 0x5423ec: connection_read_thread у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/servers/slapd/connection.c:1335
(15) 0x9109d7: ldap_int_thread_pool_wrapper у /home/ly/tmp/ReOpenLDAP/@ci-buzz.pool/@7.whitehole/src/libraries/libldap_r/tpool.c:709
(16) 0x7f605c5376aa: ?? ??:0
(17) 0x7f605af10e9d: ?? ??:0

#3  <signal handler called>
#4  0x00000000006a458b in mdb_node_search (mc=mc@entry=0x61400004f440, key=key@entry=0x7f60536243d0,
    exactp=exactp@entry=0x7f6053624320) at ./../../../libraries/liblmdb/mdb.c:5401
#5  0x00000000006b5a4c in mdb_cursor_set (mc=mc@entry=0x61400004f440, key=0x7f60536243d0, data=data@entry=0x7f60536248d0,
    op=<optimised out>, exactp=<optimised out>) at ./../../../libraries/liblmdb/mdb.c:6207
#6  0x00000000006af4cf in mdbx_cursor_get (mc=mc@entry=0x61400004f440, key=key@entry=0x7f60536243d0,
    data=data@entry=0x7f60536248d0, op=op@entry=MDB_SET) at ./../../../libraries/liblmdb/mdb.c:6436
#7  0x00000000007b57ae in mdb_id2edata (op=op@entry=0x7f60537b53c0, mc=0x61400004f440, id=id@entry=14,
    data=data@entry=0x7f60536248d0) at id2entry.c:130
#8  0x00000000006e351d in mdb_search (op=0x7f60537b53c0, rs=0x7f60537b5320) at search.c:891
#9  0x0000000000664369 in overlay_op_walk (op=op@entry=0x7f60537b53c0, rs=0x7f60537b5320, which=<optimised out>,
    oi=0x615000005300, on=<optimised out>) at backover.c:692
#10 0x000000000066477b in over_op_func (op=0x7f60537b53c0, rs=<optimised out>, which=<optimised out>) at backover.c:746
#11 0x00000000008c498d in syncprov_findcsn (op=op@entry=0x619000003780, mode=mode@entry=FIND_PRESENT, pivot=<optimised out>)
    at syncprov.c:841
#12 0x00000000008cbcdc in syncprov_op_search (op=<optimised out>, rs=<optimised out>) at syncprov.c:3179
#13 0x0000000000664299 in overlay_op_walk (op=op@entry=0x619000003780, rs=0x7f60537b7400, which=op_search, oi=0x615000005300,
    on=0x615000005080) at backover.c:676
#14 0x000000000066477b in over_op_func (op=0x619000003780, rs=<optimised out>, which=<optimised out>) at backover.c:746
#15 0x0000000000548ff5 in fe_op_search (op=0x619000003780, rs=0x7f60537b7400) at search.c:404
#16 0x0000000000547b23 in do_search (op=0x619000003780, rs=0x7f60537b7400) at search.c:247
#17 0x00000000005419dc in connection_operation (ctx=ctx@entry=0x7f60537b76e0, arg_v=arg_v@entry=0x619000003780)
    at connection.c:1195
#18 0x00000000005423ec in connection_read_thread (ctx=<optimised out>, argv=<optimised out>) at connection.c:1335
#19 0x00000000009109d7 in ldap_int_thread_pool_wrapper (xpool=0x6110007eb0c0) at tpool.c:707
#20 0x00007f605c5376aa in start_thread (arg=0x7f60537b8700) at pthread_create.c:333
#21 0x00007f605af10e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109


#4  0x00000000006a458b in mdb_node_search (mc=mc@entry=0x61400004f440, key=key@entry=0x7f60536243d0,
    exactp=exactp@entry=0x7f6053624320) at ./../../../libraries/liblmdb/mdb.c:5401
        i = 7127
        nkeys = 14255
        low = 0
        high = 14254
        rc = 0
        mp = 0x7f6055cb5000
        node = 0x0
        cmp = 0x6a0490 <mdb_id_compare>
#5  0x00000000006b5a4c in mdb_cursor_set (mc=mc@entry=0x61400004f440, key=0x7f60536243d0, data=data@entry=0x7f60536248d0,
    op=<optimised out>, exactp=<optimised out>) at ./../../../libraries/liblmdb/mdb.c:6207
        rc = 0
        mp = 0x7f6055cb5000
        leaf = <optimised out>
#6  0x00000000006af4cf in mdbx_cursor_get (mc=mc@entry=0x61400004f440, key=key@entry=0x7f60536243d0,
    data=data@entry=0x7f60536248d0, op=op@entry=MDB_SET) at ./../../../libraries/liblmdb/mdb.c:6436
        rc = <optimised out>
        mfunc = <optimised out>
#7  0x00000000007b57ae in mdb_id2edata (op=op@entry=0x7f60537b53c0, mc=0x61400004f440, id=id@entry=14,
    data=data@entry=0x7f60536248d0) at id2entry.c:130
        rc = <optimised out>
#8  0x00000000006e351d in mdb_search (op=0x7f60537b53c0, rs=0x7f60537b5320) at search.c:891
        scopeok = 1
        mdb = <optimised out>
        id = 14
        ncand = 41
        cscope = 0
        scopes = <optimised out>
        stack = <optimised out>
        stoptime = 1457168590
        manageDSAit = <optimised out>
        tentries = <optimised out>
        ltid = 0x62300003d500
        lag = <optimised out>
#9  0x0000000000664369 in overlay_op_walk (op=op@entry=0x7f60537b53c0, rs=0x7f60537b5320, which=<optimised out>,
    oi=0x615000005300, on=<optimised out>) at backover.c:692
        func = <optimised out>
        rc = <optimised out>
#10 0x000000000066477b in over_op_func (op=0x7f60537b53c0, rs=<optimised out>, which=<optimised out>) at backover.c:746
        oi = <optimised out>
        on = <optimised out>
        be = 0x7f60537b5e90
        bi = 0x615000005300
        sc = <optimised out>
        rc = 32768
        __FUNCTION__ = "over_op_func"

#11 0x00000000008c498d in syncprov_findcsn (op=op@entry=0x619000003780, mode=mode@entry=FIND_PRESENT, pivot=<optimised out>)
    at syncprov.c:841
        on = 0x615000005080
        si = 0x61200004e7c0
        srs = 0x7f6052eafaf0
        i = <optimised out>
        rc = 0
        findcsn_retry = 1
        maxid = -1
        __FUNCTION__ = "syncprov_findcsn"
#12 0x00000000008cbcdc in syncprov_op_search (op=<optimised out>, rs=<optimised out>) at syncprov.c:3179
        on = 0x615000005080
        si = <optimised out>
        cb = <optimised out>
        gotstate = 1
        changed = 2
        do_present = 1
        so = 0x61500003fa00
        ss = <optimised out>
        srs = <optimised out>
        i = <optimised out>
        sids = <optimised out>
        numcsns = <optimised out>
        dirty = 10
        rc = <optimised out>
        __FUNCTION__ = "syncprov_op_search"
#13 0x0000000000664299 in overlay_op_walk (op=op@entry=0x619000003780, rs=0x7f60537b7400, which=op_search, oi=0x615000005300,
    on=0x615000005080) at backover.c:676
        func = 0x6150000050d8
        rc = 32768
#14 0x000000000066477b in over_op_func (op=0x619000003780, rs=<optimised out>, which=<optimised out>) at backover.c:746
        oi = <optimised out>
        on = <optimised out>
        be = 0x614000017240
        bi = 0x615000005300
        sc = <optimised out>
        rc = 32768
        __FUNCTION__ = "over_op_func"
#15 0x0000000000548ff5 in fe_op_search (op=0x619000003780, rs=0x7f60537b7400) at search.c:404
        bd = 0x1a917e0 <slap_frontendDB>
#16 0x0000000000547b23 in do_search (op=0x619000003780, rs=0x7f60537b7400) at search.c:247
        off = 0
        i = <optimised out>
#17 0x00000000005419dc in connection_operation (ctx=ctx@entry=0x7f60537b76e0, arg_v=arg_v@entry=0x619000003780)
    at connection.c:1195
        rc = 80
        op = 0x619000003780
        tag = 99
        opidx = SLAP_OP_SEARCH
        conn = 0x7f6056a86640
        memsiz = 1048576
        __FUNCTION__ = "connection_operation"
#18 0x00000000005423ec in connection_read_thread (ctx=<optimised out>, argv=<optimised out>) at connection.c:1335
        rc = <optimised out>
        cri = {op = 0x619000003780, func = 0x0, arg = 0x0, ctx = 0x7f60537b76e0, nullop = <optimised out>}
        s = 11

Fixed after the cb34ac0