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

Re: (ITS#5835) master slapd dying on lost writes




--On November 28, 2008 7:24:27 PM +0000 quanah@zimbra.com wrote:


> As you can see, we lose a connection and then try to read from it (FD
> 40).  This is where the log ends because the assert triggered.

Printing the connection struct shows it is actually an issue with FD 26:

(gdb) print *c
$1 = {c_struct_state = 2, c_conn_state = 2, c_conn_idx = 26, c_close_reason 
= 0x4be9fb "?", c_mutex = {__m_reserved = 1, __m_count = 0, __m_owner = 
0x1000022ee, __m_kind = 0, __m_lock = {__status = 0,
      __spinlock = 0}}, c_sb = 0xdcb1de0, c_starttime = 1227898781, 
c_activitytime = 1227898781, c_connid = 498, c_peer_domain = {bv_len = 7, 
bv_val = 0xe61c50 "unknown"}, c_peer_name = {bv_len = 23,
    bv_val = 0xc89d900 "IP=192.168.58.231:45575"}, c_listener = 0x88cf00, 
c_sasl_bind_in_progress = 0, 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 = 0xdeda80, 
c_authz_cookie = 0x0, c_authz = {sai_method = 128, sai_mech = {bv_len = 0, 
bv_val = 0x0}, sai_dn = {bv_len = 30,
      bv_val = 0xdcb1d60 "uid=zimbra,cn=admins,cn=zimbra"}, sai_ndn = 
{bv_len = 30, bv_val = 0xdcb1cc0 "uid=zimbra,cn=admins,cn=zimbra"}, sai_ssf 
= 0, sai_transport_ssf = 0, sai_tls_ssf = 0,
    sai_sasl_ssf = 0}, c_protocol = 3, c_ops = {stqh_first = 0x0, stqh_last 
= 0x3670150}, c_pending_ops = {stqh_first = 0x0, stqh_last = 0x3670160}, 
c_write_mutex = {__m_reserved = 0, __m_count = 0,
    __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 
0}}, c_write_cv = {__c_lock = {__status = 111669149696, __spinlock = 13}, 
__c_waiting = 0xd,
    __padding = "\r\000\000\000\000\000\000\000H\000g\003\000\000\000", 
__align = 0}, c_currentber = 0xdc6d410, c_writewaiter = 0, c_is_tls = 0, 
c_needs_tls_accept = 0, c_sasl_layers = 0,
  c_sasl_done = 0, c_sasl_authctx = 0x5d65000, c_sasl_sockctx = 0x0, 
c_sasl_extra = 0x5d64d98, c_sasl_bindop = 0x0, c_pagedresults_state = 
{ps_be = 0x0, ps_size = 0, ps_cookie = 0, ps_count = 0},
  c_n_ops_received = 1, c_n_ops_executing = 0, c_n_ops_pending = 0, 
c_n_ops_completed = 1, c_n_get = 1, c_n_read = 1, c_n_write = 0, c_pb = 
0x0, c_extensions = 0x0, c_clientfunc = 0,
  c_clientarg = 0x0, c_send_ldap_result = 0x43ea28 <slap_send_ldap_result>, 
c_send_search_entry = 0x43f723 <slap_send_search_entry>, 
c_send_search_reference = 0x441829 <slap_send_search_reference>,
  c_send_ldap_extended = 0x43f296 <slap_send_ldap_extended>, 
c_send_ldap_intermediate = 0x43f51a <slap_send_ldap_intermediate>}

which is the connection currently logged as binding right before slapd 
crashes.

--quanah

--

Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra ::  the leader in open source messaging and collaboration