Full_Name: Quanah Gibson-Mount Version: RE24 4/1/2012 OS: Linux 2.6 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (75.108.184.39)
If you have an accesslog setup using back-mdb, it will segv in the following condition:
Do a bunch of modifications, and then set up accesslog to clean them out periodically. In my test, I had it so that the accesslog DB was cleaned every 5 minutes, of any entries > 10 minutes old. Initially I had it set to clean up everything > 1 week old, running once a day, so I could gather data in the accesslog DB without triggering the purge.
The first cleanup ran @ 5 minutes, and removed all entries from the accesslog DB, as they were all older than 10 minutes. The second run, with the now empty DB, triggered a SEGV:
Program terminated with signal 11, Segmentation fault. #0 0x00007f38dfeb17b0 in mdb_page_alloc (mc=0xd3d8a80, num=1) at ./../../../libraries/libmdb/mdb.c:1317 1317 ./../../../libraries/libmdb/mdb.c: No such file or directory. in ./../../../libraries/libmdb/mdb.c #0 0x00007f38dfeb17b0 in mdb_page_alloc (mc=0xd3d8a80, num=1) at ./../../../libraries/libmdb/mdb.c:1317 txn = 0xd3ce000 np = 0x323d747261745371 pgno = 69385 mid = {mid = 139710414625424, mptr = 0x7f38dfeb5cdf} #1 0x00007f38dfeb18c6 in mdb_page_touch (mc=0xd3d8a80) at ./../../../libraries/libmdb/mdb.c:1349 np = 0xd3f2000 mp = 0x7f24f0114000 pgno = 69525 __PRETTY_FUNCTION__ = "mdb_page_touch" #2 0x00007f38dfeb7bc7 in mdb_cursor_touch (mc=0xd3d8a80) at ./../../../libraries/libmdb/mdb.c:4116 rc = 0 #3 0x00007f38dfeb93dd in mdb_cursor_del (mc=0xd3d8a80, flags=0) at ./../../../libraries/libmdb/mdb.c:4486 leaf = 0x0 rc = 0 #4 0x00007f38dfeaec65 in mdb_idl_delete_keys (cursor=0xd3d8a80, keys=0x3782c08, id=64) at idl.c:597 rc = 0 k = 0 key = {mv_size = 5, mv_data = 0x3782c30} data = {mv_size = 8, mv_data = 0x7f24f012c068} lo = 5 hi = 139706696817899 tmp = 40 i = 0x7f24f012c010 err = 0x7f38dfec37f4 "c_get" __PRETTY_FUNCTION__ = "mdb_idl_delete_keys" #5 0x00007f38dfea4faf in indexer (op=0x7f10dda2a440, txn=0xd3ce000, ai=0x12172c0, ad=0x11b87c0, atname=0x11e9028, vals=0x3782b48, id=64, opid=2, mask=4) at index.c:219 rc = 0 i = 26075136 keys = 0x3782c08 mc = 0xd3d8a80 keyfunc = 0x7f38dfeaea37 <mdb_idl_delete_keys> err = 0x7f38dfec27ea "c_open" __PRETTY_FUNCTION__ = "indexer" #6 0x00007f38dfea5363 in index_at_values (op=0x7f10dda2a440, txn=0xd3ce000, ad=0x11b87c0, type=0x11e8fc0, tags=0x11b87e0, vals=0x3782b48, id=64, opid=2) at index.c:337 rc = 0 mask = 4 ixop = 2 ai = 0x12172c0 #7 0x00007f38dfea54e7 in mdb_index_values (op=0x7f10dda2a440, txn=0xd3ce000, desc=0x11b87c0, vals=0x3782b48, id=64, opid=2) at index.c:386 rc = 0 #8 0x00007f38dfea59af in mdb_index_entry (op=0x7f10dda2a440, txn=0xd3ce000, opid=2, e=0x37823c8) at index.c:558 rc = 0 ap = 0x3782620 #9 0x00007f38dfe994ae in mdb_delete (op=0x7f10dda2a440, rs=0x7f10dda2a2b0) at delete.c:348 mdb = 0x18de000 pdn = {bv_len = 12, bv_val = 0xd5bec20 "cn=accesslog"} e = 0x37823c8 p = 0x3782158 manageDSAit = 0 children = 0x11b8ec0 entry = 0x11b8f00 txn = 0xd3ce000 mc = 0xd3d8a80 opinfo = {moi_oe = {oe_next = {sle_next = 0x0}, oe_key = 0x18de000}, moi_txn = 0xd3ce000, moi_ref = 1, moi_flag = 0 '\000'} moi = 0x7f10dda29ed0 preread_ctrl = 0x0 ctrls = {0x0, 0xfffffffffffffff9, 0x7f10dda29f10, 0x0, 0x0, 0x4} num_ctrls = 0 parent_is_glue = 0 parent_is_leaf = 0 __PRETTY_FUNCTION__ = "mdb_delete" #10 0x00000000004d4a48 in overlay_op_walk (op=0x7f10dda2a440, rs=0x7f10dda2a2b0, which=op_delete, oi=0x166d680, on=0x0) at backover.c:671 func = 0x7f38e00c7d18 rc = 32768 #11 0x00000000004d4c86 in over_op_func (op=0x7f10dda2a440, rs=0x7f10dda2a2b0, which=op_delete) at backover.c:723 oi = 0x166d680 on = 0x1706f00 be = 0x11ee9c0 db = {bd_info = 0x7f38e00c7cc0, bd_self = 0x11ee9c0, be_ctrls = "\000\001\001\001\000\001\000\000\001\000\000\001\001\000\001\000\000\001", '\000' <repeats 14 times>, "\001", be_flags = 2312, be_restrictops = 0, be_requires = 0, be_ssf_set = {sss_ssf = 0, sss_transport = 0, sss_tls = 0, sss_sasl = 0, sss_update_ssf = 0, sss_update_transport = 0, sss_update_tls = 0, sss_update_sasl = 0, sss_simple_bind = 0}, be_suffix = 0x1687840, be_nsuffix = 0x1687820, be_schemadn = {bv_len = 0, bv_val = 0x0}, be_schemandn = { bv_len = 0, bv_val = 0x0}, be_rootdn = {bv_len = 9, bv_val = 0x16766d0 "cn=config"}, be_rootndn = {bv_len = 9, bv_val = 0x16766b0 "cn=config"}, be_rootpw = {bv_len = 0, bv_val = 0x0}, be_max_deref_depth = 15, be_def_limit = {lms_t_soft = -1, lms_t_hard = 0, lms_s_soft = -1, lms_s_hard = 0, lms_s_unchecked = -1, lms_s_pr = 0, lms_s_pr_hide = 0, lms_s_pr_total = 0}, be_limits = 0x0, be_acl = 0x16a0e00, be_dfltaccess = ACL_READ, be_extra_anlist = 0x0, be_update_ndn = {bv_len = 0, bv_val = 0x0}, be_update_refs = 0x0, be_pending_csn_list = 0x14bf900, be_pcl_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = { __prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, be_syncinfo = 0x0, be_pb = 0x0, be_cf_ocs = 0x7f38e00c7ac0, be_private = 0x18de000, be_next = {stqe_next = 0x11ef6c0}} cb = {sc_next = 0x7f38dfa51c60, sc_response = 0x4d3780 <over_back_response>, sc_cleanup = 0, sc_private = 0x166d680} sc = 0x7f10dda2a578 rc = 32768 __PRETTY_FUNCTION__ = "over_op_func" #12 0x00000000004d4e6f in over_op_delete (op=0x7f10dda2a440, rs=0x7f10dda2a2b0) at backover.c:780 No locals. #13 0x00007f38df847f61 in accesslog_purge (ctx=0x7f10dda2ab50, arg=0x1298000) at accesslog.c:689 i = 62 rtask = 0x1298000 li = 0x17ea090 conn = {c_struct_state = SLAP_C_UNINITIALIZED, c_conn_state = SLAP_C_INVALID, c_conn_idx = -1, c_sd = 0, c_close_reason = 0x0, c_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, c_sb = 0x0, c_starttime = 0, c_activitytime = 0, c_connid = 18446744073709551615, c_peer_domain = {bv_len = 0, bv_val = 0x4f9d90 ""}, c_peer_name = {bv_len = 0, bv_val = 0x4f9d90 ""}, c_listener = 0x501ca0, c_sasl_bind_mech = {bv_len = 0, bv_val = 0x0}, c_sasl_dn = {bv_len = 0, bv_val = 0x0}, c_sasl_authz_dn = {bv_len = 0, bv_val = 0x0}, c_authz_backend = 0x0, c_authz_cookie = 0x0, c_authz = {sai_method = 0, sai_mech = {bv_len = 0, bv_val = 0x0}, sai_dn = {bv_len = 0, bv_val = 0x0}, sai_ndn = {bv_len = 0, bv_val = 0x0}, sai_ssf = 0, sai_transport_ssf = 0, sai_tls_ssf = 0, sai_sasl_ssf = 0}, c_protocol = 0, c_ops = {stqh_first = 0x0, stqh_last = 0x0}, c_pending_ops = {stqh_first = 0x0, stqh_last = 0x0}, c_write1_mutex = { __data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, c_write1_cv = {__data = {__lock = 0, __futex = 0, __total_seq = 0, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x0, __nwaiters = 0, __broadcast_seq = 0}, __size = '\000' <repeats 47 times>, __align = 0}, c_write2_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = { __prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, c_write2_cv = {__data = {__lock = 0, __futex = 0, __total_seq = 0, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x0, __nwaiters = 0, __broadcast_seq = 0}, __size = '\000' <repeats 47 times>, __align = 0}, c_currentber = 0x0, c_writers = 0, c_writing = 0 '\000', c_sasl_bind_in_progress = 0 '\000', c_writewaiter = 0 '\000', c_is_tls = 0 '\000', c_needs_tls_accept = 0 '\000', c_sasl_layers = 0 '\000', c_sasl_done = 0 '\000', c_sasl_authctx = 0x0, c_sasl_sockctx = 0x0, c_sasl_extra = 0x0, c_sasl_bindop = 0x0, c_pagedresults_state = {ps_be = 0x0, ps_size = 0, ps_count = 0, ps_cookie = 0, ps_cookieval = {bv_len = 0, bv_val = 0x0}}, c_n_ops_received = 0, c_n_ops_executing = 0, c_n_ops_pending = 0, c_n_ops_completed = 0, c_n_get = 0, c_n_read = 0, c_n_write = 0, c_extensions = 0x0, c_clientfunc = 0, c_clientarg = 0x0, c_send_ldap_result = 0x454a15 <slap_send_ldap_result>, c_send_search_entry = 0x45571d <slap_send_search_entry>, c_send_search_reference = 0x457c43 <slap_send_search_reference>, c_send_ldap_extended = 0x45527c <slap_send_ldap_extended>, c_send_ldap_intermediate = 0x4554fa <slap_send_ldap_intermediate>} opbuf = {ob_op = {o_hdr = 0x7f10dda2a5b0, o_tag = 74, o_time = 1333399445, o_tincr = 0, o_bd = 0x7f10dda2a0c0, o_req_dn = {bv_len = 44, bv_val = 0xd5bec30 "reqStart=20120402202935.000125Z,cn=accesslog"}, o_req_ndn = {bv_len = 44, bv_val = 0xd5bec00 "reqStart=20120402202935.000125Z,cn=accesslog"}, o_request = {oq_add = {rs_modlist = 0x1, rs_e = 0xffffffffffffffff}, oq_bind = {rb_method = 1, rb_cred = {bv_len = 18446744073709551615, bv_val = 0x0}, rb_edn = {bv_len = 1, bv_val = 0x75cd60 "\003"}, rb_ssf = 3718423536, rb_mech = {bv_len = 27, bv_val = 0x3780008 "p\240\242\335\020\177"}}, oq_compare = {rs_ava = 0x1}, oq_modify = { rs_mods = {rs_modlist = 0x1, rs_no_opattrs = -1 '\377'}, rs_increment = 0}, oq_modrdn = {rs_mods = {rs_modlist = 0x1, rs_no_opattrs = -1 '\377'}, rs_deleteoldrdn = 0, rs_newrdn = {bv_len = 1, bv_val = 0x75cd60 "\003"}, rs_nnewrdn = {bv_len = 139710414627824, bv_val = 0x1b <Address 0x1b out of bounds>}, rs_newSup = 0x3780008, rs_nnewSup = 0x0}, oq_search = {rs_scope = 1, rs_deref = 0, rs_slimit = -1, rs_tlimit = -1, rs_limit = 0x0, rs_attrsonly = 1, rs_attrs = 0x75cd60, rs_filter = 0x7f10dda2a3f0, rs_filterstr = {bv_len = 27, bv_val = 0x3780008 "p\240\242\335\020\177"}}, oq_abandon = {rs_msgid = 1}, oq_cancel = {rs_msgid = 1}, oq_extended = {rs_reqoid = {bv_len = 1, bv_val = 0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>}, rs_flags = 0, rs_reqdata = 0x1}, oq_pwdexop = { rs_extended = {rs_reqoid = {bv_len = 1, bv_val = 0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>}, rs_flags = 0, rs_reqdata = 0x1}, rs_old = { bv_len = 7720288, bv_val = 0x7f10dda2a3f0 "\246"}, rs_new = {bv_len = 27, bv_val = 0x3780008 "p\240\242\335\020\177"}, rs_mods = 0x0, rs_modtail = 0x0}}, o_abandon = 0, o_cancel = 0, o_groups = 0x0, o_do_not_cache = 0 '\000', o_is_auth_check = 0 '\000', o_dont_replicate = 1 '\001', o_acl_priv = ACL_NONE, o_nocaching = 0 '\000', o_delete_glue_parent = 0 '\000', o_no_schema_check = 0 '\000', o_no_subordinate_glue = 0 '\000', o_ctrlflag = '\000' <repeats 31 times>, o_controls = 0x7f10dda2a6f8, o_authz = {sai_method = 0, sai_mech = {bv_len = 0, bv_val = 0x0}, sai_dn = {bv_len = 9, bv_val = 0x16766d0 "cn=config"}, sai_ndn = {bv_len = 9, bv_val = 0x16766b0 "cn=config"}, sai_ssf = 0, sai_transport_ssf = 0, sai_tls_ssf = 0, sai_sasl_ssf = 0}, o_ber = 0x0, o_res_ber = 0x0, o_callback = 0x37820b0, o_ctrls = 0x0, o_csn = {bv_len = 40, bv_val = 0x7f10dda2aac0 "20120402203319.698132Z#000000#000#000000\v\336C"}, o_private = 0x0, o_extra = {slh_first = 0x7f10dda29ed0}, o_next = {stqe_next = 0x0}}, ob_hdr = {oh_opid = 0, oh_connid = 18446744073709551615, oh_conn = 0x7f10dda2a800, oh_msgid = 0, oh_protocol = 0, oh_tid = 139710414632704, oh_threadctx = 0x7f10dda2ab50, oh_tmpmemctx = 0x1651a00, oh_tmpmfuncs = 0x75d320, oh_counters = 0x7607a0, oh_log_prefix = "conn=-1 op=0", '\000' <repeats 243 times>}, ob_controls = {0x0 <repeats 32 times>}} op = 0x7f10dda2a440 rs = {sr_type = REP_RESULT, sr_tag = 0, sr_msgid = 0, sr_err = 0, sr_matched = 0x0, sr_text = 0x0, sr_ref = 0x0, sr_ctrls = 0x0, sr_un = {sru_search = {r_entry = 0x0, r_attr_flags = 0, r_operational_attrs = 0x0, r_attrs = 0x0, r_nentries = 0, r_v2ref = 0x0}, sru_sasl = {r_sasldata = 0x0}, sru_extended = {r_rspoid = 0x0, r_rspdata = 0x0}}, sr_flags = 0} cb = {sc_next = 0x0, sc_response = 0x7f38df84787e <log_old_lookup>, sc_cleanup = 0, sc_private = 0x7f10dda2a360} f = {f_choice = 166, f_un = {f_un_result = -576543792, f_un_desc = 0x7f10dda2a3d0, f_un_ava = 0x7f10dda2a3d0, f_un_ssa = 0x7f10dda2a3d0, f_un_mra = 0x7f10dda2a3d0, f_un_complex = 0x7f10dda2a3d0}, f_next = 0x0} ava = {aa_desc = 0x1251240, aa_value = {bv_len = 15, bv_val = 0x7f10dda2ab00 "20120402203405Z"}} pd = {slots = 100000, used = 100000, dn = 0xe3b8000, ndn = 0xe588000, csn = {bv_len = 40, bv_val = 0x7f10dda2aac0 "20120402203319.698132Z#000000#000#000000\v\336C"}} timebuf = "20120402203405Z\000\241\210\001\000\000" csnbuf = "20120402203319.698132Z#000000#000#000000\v\336C\000\000\000\000\000\366\250\322\343\070\177\000\000\000\000\000\000\002\000\000" old = 1333398845 __PRETTY_FUNCTION__ = "accesslog_purge" #14 0x00007f38e51e9cc9 in ldap_int_thread_pool_wrapper (xpool=0x11d21c0) at tpool.c:688 pool = 0x11d21c0 task = 0x14ca440 work_list = 0x11d2258 ctx = {ltu_id = 139710414632704, ltu_key = {{ltk_key = 0x4b380b, ltk_data = 0x1651a00, ltk_free = 0x4b3630 <slap_sl_mem_destroy>}, {ltk_key = 0x317c000, ltk_data = 0x14cc000, ltk_free = 0x7f38dfeac523 <mdb_reader_free>}, {ltk_key = 0x347e000, ltk_data = 0x14cf400, ltk_free = 0x7f38dfeac523 <mdb_reader_free>}, {ltk_key = 0x7f38dfea23c4, ltk_data = 0x3e80000, ltk_free = 0x7f38dfea23a1 <search_stack_free>}, {ltk_key = 0x7f38dfe9fda9, ltk_data = 0x3880000, ltk_free = 0x7f38dfe9fd61 <scope_chunk_free>}, { ltk_key = 0x43d3cd, ltk_data = 0x167ae00, ltk_free = 0x43d211 <conn_counter_destroy>}, {ltk_key = 0x459151, ltk_data = 0x16fc800, ltk_free = 0x4590a4 <slap_op_q_destroy>}, { ltk_key = 0x0, ltk_data = 0xd5d1600, ltk_free = 0}, {ltk_key = 0x0, ltk_data = 0x0, ltk_free = 0} <repeats 24 times>}} kctx = 0x0 i = 32 keyslot = 965 hash = 2784641989 __PRETTY_FUNCTION__ = "ldap_int_thread_pool_wrapper" #15 0x00007f38e3d259ca in start_thread () from /lib/libpthread.so.0 No symbol table info available. #16 0x00007f38e3a8270d in clone () from /lib/libc.so.6 No symbol table info available. #17 0x0000000000000000 in ?? () No symbol table info available.