389ds / 389-ds-base

The enterprise-class Open Source LDAP server for Linux
https://www.port389.org/
Other
200 stars 82 forks source link

Random crash in test_long_rdn CI test #6207

Closed progier389 closed 3 weeks ago

progier389 commented 3 weeks ago

Issue Description I noticed a crash on main branch while running the index##test_long_rdn CI test on lmdb

(gdb) #0  edata_szind_set (edata=0x0, szind=36)
    at include/jemalloc/internal/edata.h:472
#1  arena_prof_demote (ptr=0x7f5f724d151d, tsdn=0x7f5f661fdc78, edata=0x0)
    at src/arena.c:1261
#2  je_arena_dalloc_promoted.isra.0
    (tsdn=0x7f5f661fdc78, ptr=0x7f5f724d151d, tcache=0x7f5f661fdfd0, slow_path=<optimized out>) at src/arena.c:1277
#3  0x00007f62d30646ea in arena_dalloc_large
    (tsdn=0x7f5f661fdc78, ptr=0x7f5f724d151d, tcache=0x7f5f661fdfd0, szind=0, slow_path=false) at include/jemalloc/internal/arena_inlines_b.h:285
#4  arena_dalloc
    (tsdn=<optimized out>, ptr=<optimized out>, tcache=<optimized out>, caller_alloc_ctx=<optimized out>, slow_path=<optimized out>)
    at include/jemalloc/internal/arena_inlines_b.h:334
#5  idalloctm
    (tsdn=<optimized out>, ptr=<optimized out>, tcache=<optimized out>, alloc_ctx=<optimized out>, is_internal=<optimized out>, slow_path=<optimized out>)
    at include/jemalloc/internal/jemalloc_internal_inlines_c.h:120
#6  ifree
    (tsd=0x7f5f661fdc78, ptr=0x7f5f724d151d, tcache=0x7f5f661fdfd0, slow_path=false) at src/jemalloc.c:2887
#7  je_free_default (ptr=0x7f5f724d151d) at src/jemalloc.c:3014
#8  0x00007f62d306a1b5 in free (ptr=<optimized out>) at src/jemalloc.c:3162
#9  0x00007f62d2ddc72d in slapi_ch_free (ptr=0x7f5f661fa408)
    at ldap/servers/slapd/ch_malloc.c:281
#10 slapi_ch_free (ptr=ptr@entry=0x7f5f661fa408)
    at ldap/servers/slapd/ch_malloc.c:271
#11 0x00007f62ce68d518 in _entryrdn_resolve_redirect
    (ctx=ctx@entry=0x7f5f661fc5d0, elem=elem@entry=0x7f5f661fa408, canfree=canfree@entry=1) at ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c:1432
#12 0x00007f62ce68f130 in _entryrdn_get_tombstone_elem
    (ctx=ctx@entry=0x7f5f661fc5d0, srdn=0x7f62ce03dec0, key=key@entry=0x7f5f661fc550, comp_key=<optimized out>, elem=elem@entry=0x7f5f661fc538)
    at ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c:1667
#13 0x00007f62ce693c20 in entryrdn_insert_key
    (ctx=0x7f5f661fc5d0, srdn=0x7f5f6403f028, id=<optimized out>)
    at ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c:2522
#14 entryrdn_index_entry
    (be=<optimized out>, e=<optimized out>, flags=flags@entry=1, txn=txn@entry=0x7f5f661fc7c0) at ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c:355
#15 0x00007f62ce6963af in ldbm_back_delete (pb=0x7f5f63ffd000)
    at ldap/servers/slapd/back-ldbm/ldbm_delete.c:986
#16 0x00007f62d2df3fa4 in op_shared_delete (pb=pb@entry=0x7f5f63ffd000)
    at ldap/servers/slapd/delete.c:338
#17 0x00007f62d2df4255 in do_delete (pb=pb@entry=0x7f5f63ffd000)
    at ldap/servers/slapd/delete.c:97
#18 0x0000562720490870 in connection_dispatch_operation
    (conn=<optimized out>, op=<optimized out>, pb=<optimized out>)
    at ldap/servers/slapd/connection.c:644
#19 connection_threadmain (arg=<optimized out>)
    at ldap/servers/slapd/connection.c:1921
#20 0x00007f62d2446ed7 in _pt_root () at /lib64/libnspr4.so
#21 0x00007f62d2bc61b7 in start_thread () at /lib64/libc.so.6
#22 0x00007f62d2c4839c in clone3 () at /lib64/libc.so.6

Additional context _entryrdn_resolve_redirect should be called with "canfree" flag 0 instead of 1 (childelem is set by dblayer_bulk_nextdata and should not be freed)