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

coredump in hdb_do_search() (ITS#2593)



Full_Name: Hallvard B Furuseth
Version: HEAD
OS: Solaris
URL: 
Submission from: (NULL) (129.240.186.42)
Submitted by: hallvard


This is HEAD with back-bdb/cache.c rev 1.40.  I don't know if 1.41 makes
a difference: the crash happened just once in 290 runs.
I have saved the core file for the time being.

bash$ gdb ../servers/slapd/slapd core
Core was generated by `../servers/slapd/slapd -s0 -f ./test-db/slapd.conf -h
ldap://localhost:9009/ -d'.
#0  hdb_do_search (op=0x3d5e00, rs=0xf6801ad8, sop=0x3d5e00, ps_e=0x0, 
    ps_type=0) at search.c:999
999				for ( tmp = BEI(e); tmp->bei_parent;
(gdb) bt
#0  hdb_do_search (op=0x3d5e00, rs=0xf6801ad8, sop=0x3d5e00, ps_e=0x0, 
    ps_type=0) at search.c:999
#1  0x0007bed4 in hdb_search (op=0x3d5e00, rs=0xf6801ad8) at search.c:357
#2  0x0003718c in do_search (op=0x3d5e00, rs=0xf6801ad8) at search.c:395
#3  0x00035194 in connection_operation (ctx=0xf6801b80, arg_v=0x3d5e00)
    at connection.c:978
#4  0x000a7974 in ldap_int_thread_pool_wrapper (xpool=0x229e00) at tpool.c:463
(gdb) print e
$1 = (Entry *) 0x4db040
(gdb) print *e
$2 = {e_id = 158, e_name = {bv_len = 58, bv_val = 0x0}, e_nname = {
    bv_len = 58, bv_val = 0x0}, e_attrs = 0x0, e_ocflags = 32, e_bv = {
    bv_len = 0, bv_val = 0x0}, e_private = 0x0}
(gdb) print sop
$3 = (Operation *) 0x3d5e00
(gdb) print *sop
$4 = {o_opid = 238, o_connid = 11, o_conn = 0x2b97c0, o_bd = 0x28a100, 
  o_msgid = 239, o_protocol = 3, o_tag = 99, o_time = 1055373552, o_req_dn = {
    bv_len = 29, bv_val = 0x611e0ec "o=University of Michigan,c=US"}, 
  o_req_ndn = {bv_len = 29, 
    bv_val = 0x611e14c "o=university of michigan,c=us"}, o_request = {
    oq_add = {rs_e = 0x2}, oq_bind = {rb_method = 2, rb_cred = {bv_len = 0, 
        bv_val = 0x1f3 <Address 0x1f3 out of bounds>}, rb_edn = {
        bv_len = 3600, bv_val = 0x0}, rb_ssf = 101835252}, oq_compare = {
      rs_ava = 0x2}, oq_modify = {rs_modlist = 0x2}, oq_modrdn = {rs_newrdn = {
        bv_len = 2, bv_val = 0x0}, rs_nnewrdn = {bv_len = 499, 
        bv_val = 0xe10 <Address 0xe10 out of bounds>}, rs_newSup = 0x0, 
      rs_nnewSup = 0x611e1f4, rs_deleteoldrdn = 101835164}, oq_search = {
      rs_scope = 2, rs_deref = 0, rs_slimit = 499, rs_tlimit = 3600, 
      rs_attrsonly = 0, rs_attrs = 0x611e1f4, rs_filter = 0x611e19c, 
      rs_filterstr = {bv_len = 17, bv_val = 0x611e1dc "(cn=bjorn jensen)"}}, 
    oq_abandon = {rs_msgid = 2}, oq_cancel = {rs_msgid = 2}, oq_extended = {
      rs_reqoid = {bv_len = 2, bv_val = 0x0}, rs_reqdata = 0x1f3}}, o_tid = 0, 
  o_abandon = 0, o_cancel = 0, o_do_not_cache = 0 '\0', 
  o_is_auth_check = 0 '\0', o_managedsait = 0 '\0', o_noop = 0 '\0', 
  o_proxy_authz = 0 '\0', o_subentries = 0 '\0', 
  o_subentries_visibility = 0 '\0', o_assert = 0 '\0', 
  o_valuesreturnfilter = 0 '\0', o_permissive_modify = 0 '\0', 
  o_domain_scope = 0 '\0', o_pagedresults = 0 '\0', o_pagedresults_size = 0, 
  o_pagedresults_state = {ps_be = 0x0, ps_cookie = 0, ps_id = 0}, 
  o_sync = 0 '\0', o_sync_mode = 0 '\0', o_sync_state = {bv_len = 0, 
    bv_val = 0x0}, o_ps_protocol = 0, o_ps_entries = 0, o_ps_link = {
    le_next = 0x0, le_prev = 0x0}, o_pm_list = {lh_first = 0x0}, o_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}, 
  o_ber = 0x270200, o_callback = 0x0, o_ctrls = 0x0, o_threadctx = 0xf6801b80, 
  o_tmpmemctx = 0xf05e20, o_tmpmfuncs = 0x1a9a40, o_private = 0x0, o_next = {
    stqe_next = 0x0}, o_assertion = 0x0, o_vrFilter = 0x0, 
  o_caching_on = 0 '\0'}
(gdb) print rs
$5 = (SlapReply *) 0xf6801ad8
(gdb) print *rs
$6 = {sr_type = REP_SEARCH, sr_tag = 0, sr_msgid = 0, sr_err = 0, 
  sr_matched = 0x0, sr_text = 0x0, sr_ref = 0x0, sr_ctrls = 0x0, sr_un = {
    sru_sasl = {r_sasldata = 0x4db040}, sru_extended = {
      r_rspoid = 0x4db040 "", r_rspdata = 0x611e1f4}, sru_search = {
      r_entry = 0x4db040, r_attrs = 0x611e1f4, r_nentries = 1, r_v2ref = 0x0}}}
(gdb) quit


Test output:

./scripts/test008-concurrency . hdb yes yes
running defines.sh
Datadir is ./data
Cleaning up in ./test-db...
Running slapadd to build slapd database...
Waiting 5 seconds for slapadd to build slapd database...
Starting slapd on TCP/IP port 9009...
Using ldapsearch to check that slapd is running...
Waiting 5 seconds for slapd to start...
Using tester for concurrent server access...
PID=12807 - Read(1000): entry="cn=James A Jones 1, ou=Alumni Association,
ou=People, o=University of Michigan, c=US".
PID=12805 - Add/Delete(50): entry="cn=James A Jones 5,o=University of
Michigan,C=US".
PID=12797 - Add/Delete(50): entry="cn=James A Jones 3,ou=Alumni
Association,ou=People,o=University of Michigan,c=US".
PID=12801 - Add/Delete(50): entry="cn=James A Jones 4,ou=People,o=University of
Michigan,c=US".
PID=12793 - Add/Delete(50): entry="cn=James A Jones 2,ou=Alumni
Association,ou=People,o=University of Michigan,c=US".
PID=12804 - Modrdn(50): entry="cn=James A Jones 2,ou=Information Technology
Division,ou=People,o=University of Michigan,c=US".
PID=12800 - Modrdn(50): entry="cn=Ursula Hampster,ou=Alumni
Association,ou=People,o=University of Michigan,c=US".
PID=12796 - Modrdn(50): entry="cn=John Doe,ou=Information Technology
Division,ou=People,o=University of Michigan,c=US".
PID=12792 - Modrdn(50): entry="cn=Dorothy Stevens,ou=Alumni
Association,ou=People,o=University of Michigan,c=US".
PID=12806 - Search(500): base="o=University of Michigan,c=US", filter="cn=Alumni
Assoc Staff".
PID=12802 - Search(500): base="o=University of Michigan,c=US", filter="cn=Bjorn
Jensen".
PID=12798 - Search(500): base="o=University of Michigan,c=US", filter="cn=James
A Jones 1".
PID=12803 - Read(1000): entry="ou=Alumni Association, ou=People, o=University of
Michigan, c=US".
PID=12799 - Read(1000): entry="ou=Groups, o=University of Michigan, c=US".
PID=12794 - Search(500): base="o=University of Michigan,c=US", filter="cn=Bjorn
Jensen".
PID=12795 - Read(1000): entry="cn=ITD Staff,ou=Groups,o=University of
Michigan,c=US".
PID=12791 - Read(1000): entry="cn=Barbara Jensen, ou=Information Technology
Division, ou=People, o=University of Michigan, c=US".
PID=12790 - Search(500): base="o=University of Michigan,c=US",
filter="cn=Barbara Jensen".
 PID=12804 - Modrdn done.
 PID=12800 - Modrdn done.
 PID=12796 - Modrdn done.
 PID=12792 - Modrdn done.
ldap_read: Can't contact LDAP server (81)
 PID=12803 - Read done.
ldap_read: Can't contact LDAP server (81)
 PID=12791 - Read done.
ldap_read: Can't contact LDAP server (81)
 PID=12799 - Read done.
ldap_read: Can't contact LDAP server (81)
 PID=12807 - Read done.
ldap_add: Can't contact LDAP server (81)
 PID=12797 - Add/Delete done.
ldap_delete: Can't contact LDAP server (81)
 PID=12805 - Add/Delete done.
ldap_add: Can't contact LDAP server (81)
 PID=12801 - Add/Delete done.
ldap_read: Can't contact LDAP server (81)
 PID=12795 - Read done.
ldap_delete: Can't contact LDAP server (81)
 PID=12793 - Add/Delete done.
ldap_search: Can't contact LDAP server (81)
 PID=12790 - Search done.
ldap_search: Can't contact LDAP server (81)
 PID=12802 - Search done.
ldap_search: Can't contact LDAP server (81)
 PID=12806 - Search done.
ldap_search: Can't contact LDAP server (81)
 PID=12794 - Search done.
ldap_search: Can't contact LDAP server (81)
 PID=12798 - Search done.
12781 Segmentation Fault - core dumped