Bug 763494 (GLUSTER-1762)

Summary: peer detach/peer status ,created glusterd crash
Product: [Community] GlusterFS Reporter: Lakshmipathi G <lakshmipathi>
Component: glusterdAssignee: Pranith Kumar K <pkarampu>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 3.1-alphaCC: gluster-bugs, vijay
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTP Mount Type: All
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lakshmipathi G 2010-10-01 11:39:47 UTC
I tried to add wrong brick - (a brick where glusted was not started) and cancelled it.

[root@compute-241-02 ~]# gluster peer probe  172.24.21.134
^c

then added correct brick -
[root@compute-241-02 ~]# # gluster peer probe  172.24.21.132
Probe successful

and checked its status
[root@compute-241-02 ~]# gluster peer status
Number of Peers: 2
hostname:172.24.21.134, uuid:00000000-0000-0000-0000-000000000000, state:0 (disconnected)
hostname:172.24.21.132, uuid:1f4adc52-aa20-4232-9c1b-b1a166e8ec17, state:3 (connected)

after removing peer using detach - and status check - found a glusterd core  file

[root@compute-241-02 ~]# gluster peer detach 172.24.21.134
Detach successful
[root@compute-241-02 ~]# gluster peer status
Connection failed. Please check if gluster daemon is operational.


#0  0x00002aaaaaaf2889 in mem_put (pool=0x661e38, ptr=0x2aaaaf52803c)
    at mem-pool.c:463
463				GF_ASSERT (is_mem_chunk_in_use(in_use));
(gdb) bt full
#0  0x00002aaaaaaf2889 in mem_put (pool=0x661e38, ptr=0x2aaaaf52803c)
    at mem-pool.c:463
        list = 0x2aaaaf528028
        in_use = 0x2aaaaf528038
        head = 0x2aaaaf528028
        __FUNCTION__ = "mem_put"
        __PRETTY_FUNCTION__ = "mem_put"
#1  0x00002aaaaad36911 in rpc_clnt_submit (rpc=0x661cf8, prog=0x2aaaac1045e0, 
    procnum=7, cbkfn=0x2aaaabedfe5b <glusterd3_1_friend_remove_cbk>, 
    proghdr=0x7fffffffe250, proghdrcount=1, progpayload=0x0, 
    progpayloadcount=0, iobref=0x664f08, frame=0x2aaaabbd7514, rsphdr=0x0, 
    rsphdr_count=0, rsp_payload=0x0, rsp_payload_count=0, rsp_iobref=0x0)
    at rpc-clnt.c:1411
        conn = 0x661d28
        request_iob = 0x62d0a8
        rpchdr = {iov_base = 0x2aaaab8e5000, iov_len = 128}
        rpcreq = 0x2aaaaf52803c
        req = {msg = {rpchdr = 0x7fffffffe180, rpchdrcount = 1, 
            proghdr = 0x7fffffffe250, proghdrcount = 1, progpayload = 0x0, 
            progpayloadcount = 0, iobref = 0x664f08}, rsp = {rsphdr = 0x0, 
            rsphdr_count = 0, rsp_payload = 0x0, rsp_payload_count = 0, 
            rsp_iobref = 0x0}, rpc_req = 0x2aaaaf52803c}
        ret = -1
---Type <return> to continue, or q <return> to quit--- 
        proglen = 92
        new_iobref = 0 '\000'
        callid = 1
        __FUNCTION__ = "rpc_clnt_submit"
#2  0x00002aaaabed97ee in glusterd_submit_request (peerinfo=0x6618c8, 
    req=0x7fffffffe2d0, frame=0x2aaaabbd7514, prog=0x2aaaac1045e0, procnum=7, 
    iobref=0x664f08, sfunc=0x2aaaaaf4efbd <gd_xdr_from_mgmt_friend_req>, 
    this=0x631df8, cbkfn=0x2aaaabedfe5b <glusterd3_1_friend_remove_cbk>)
    at glusterd-utils.c:331
        ret = 92
        iobuf = 0x62d080
        count = 1
        new_iobref = 1 '\001'
        start_ping = 0 '\000'
        iov = {iov_base = 0x2aaaab8c5000, iov_len = 92}
        __PRETTY_FUNCTION__ = "glusterd_submit_request"
#3  0x00002aaaabee17ba in glusterd3_1_friend_remove (frame=0x2aaaabbd7514, 
    this=0x631df8, data=0x662cf8) at glusterd3_1-mops.c:862
        req = {
          uuid = "\346\070\264\307\332\367M|\254\tMGn1\320", <incomplete sequence \355>, hostname = 0x661808 "", port = 0, vols = {vols_len = 0, 
            vols_val = 0x0}}
        ret = 0
---Type <return> to continue, or q <return> to quit---
        peerinfo = 0x6618c8
        priv = 0x65f768
        event = 0x662cf8
        ctx = 0x664e38
        __PRETTY_FUNCTION__ = "glusterd3_1_friend_remove"
        __FUNCTION__ = "glusterd3_1_friend_remove"
#4  0x00002aaaabeca8e9 in glusterd_ac_send_friend_remove_req (event=0x662cf8, 
    ctx=0x664e38) at glusterd-sm.c:271
        ret = 0
        peerinfo = 0x6618c8
        proc = 0x2aaaac104490
        frame = 0x2aaaabbd7514
        conf = 0x65f768
        this = 0x631df8
        __PRETTY_FUNCTION__ = "glusterd_ac_send_friend_remove_req"
        __FUNCTION__ = "glusterd_ac_send_friend_remove_req"
#5  0x00002aaaabecb337 in glusterd_friend_sm () at glusterd-sm.c:684
        event = 0x662cf8
        tmp = 0x2aaaac104ca0
        ret = -1
        handler = 0x2aaaabeca794 <glusterd_ac_send_friend_remove_req>
        state = 0x2aaaac102cc0
        peerinfo = 0x6618c8
---Type <return> to continue, or q <return> to quit---
        event_type = GD_FRIEND_EVENT_INIT_REMOVE_FRIEND
        is_await_conn = _gf_false
        __PRETTY_FUNCTION__ = "glusterd_friend_sm"
        __FUNCTION__ = "glusterd_friend_sm"
#6  0x00002aaaabee2cc1 in glusterd_handle_rpc_msg (req=0x2aaaac105478)
    at glusterd3_1-mops.c:1388
        ret = 0
        is_cli_req = _gf_false
        op_errstr = 0x0
        __PRETTY_FUNCTION__ = "glusterd_handle_rpc_msg"
        __FUNCTION__ = "glusterd_handle_rpc_msg"
#7  0x00002aaaaad2c9e9 in rpcsvc_handle_rpc_call (svc=0x634298, 
    trans=0x664a28, msg=0x663e98) at rpcsvc.c:992
        actor = 0x2aaaac103f60
        req = 0x2aaaac105478
        ret = -1
        port = 1015
        __FUNCTION__ = "rpcsvc_handle_rpc_call"
#8  0x00002aaaaad2cd7c in rpcsvc_notify (trans=0x664a28, mydata=0x634298, 
    event=RPC_TRANSPORT_MSG_RECEIVED, data=0x663e98) at rpcsvc.c:1087
        ret = -1
        msg = 0x663e98
        new_trans = 0x0
---Type <return> to continue, or q <return> to quit---
        svc = 0x634298
        __FUNCTION__ = "rpcsvc_notify"
#9  0x00002aaaaad32be1 in rpc_transport_notify (this=0x664a28, 
    event=RPC_TRANSPORT_MSG_RECEIVED, data=0x663e98) at rpc-transport.c:1134
        ret = -1
#10 0x00002aaaac1973fe in socket_event_poll_in (this=0x664a28) at socket.c:1619
        ret = 0
        pollin = 0x663e98
#11 0x00002aaaac19776f in socket_event_handler (fd=5, idx=4, data=0x664a28, 
    poll_in=1, poll_out=0, poll_err=0) at socket.c:1733
        this = 0x664a28
        priv = 0x664cf8
        ret = 0
        __FUNCTION__ = "socket_event_handler"
#12 0x00002aaaaaaf1398 in event_dispatch_epoll_handler (event_pool=0x62d178, 
    events=0x6608f8, i=0) at event.c:812
        event_data = 0x6608fc
        handler = 0x2aaaac197673 <socket_event_handler>
        data = 0x664a28
        idx = 4
        ret = -1
        __FUNCTION__ = "event_dispatch_epoll_handler"
#13 0x00002aaaaaaf1587 in event_dispatch_epoll (event_pool=0x62d178)
---Type <return> to continue, or q <return> to quit---
    at event.c:876
        events = 0x6608f8
        size = 1
        i = 0
        ret = 1
        __FUNCTION__ = "event_dispatch_epoll"
#14 0x00002aaaaaaf18e3 in event_dispatch (event_pool=0x62d178) at event.c:984
        ret = -1
        __FUNCTION__ = "event_dispatch"
#15 0x0000000000405e29 in main (argc=1, argv=0x7fffffffe908)
    at glusterfsd.c:1412
        ctx = 0x62b010
        ret = 0
(gdb)

Comment 1 Vijay Bellur 2010-10-02 04:40:24 UTC
PATCH: http://patches.gluster.com/patch/5175 in master (mgmt/glusterd: handle peer not connected in peer detach)