[Gluster-devel] how to reinstall a peer?

Emmanuel Dreyfus manu at netbsd.org
Mon Feb 25 17:34:45 UTC 2013

Vijay Bellur <vbellur at redhat.com> wrote:

> 24007 is glusterd's listen port. Do you have that running?

Right, it crashed. And when doing peer probe, the peer that should be
discovered crtashes the same way. Here is the backtrace, which may be of
some interest since it seems a very trivial bug (NULL pointer?), and it
is 100% reproductible at mine (I can dig further if needed)

#0  0xbb95424d in xdr_string () from /lib/libc.so.12
#1  0xbbb675ab in xdr_gd1_mgmt_probe_rsp (xdrs=0xbfbfdfe8,
    at glusterd1-xdr.c:120
#2  0xbb8ce10a in xdr_sizeof () from /lib/libc.so.12
#3  0xb9d98ae8 in glusterd_serialize_reply (req=0xb9c01010,
    outmsg=0xbfbfe088, xdrproc=0xbbb674b8 <xdr_gd1_mgmt_probe_rsp>)
    at glusterd-utils.c:489
#4  0xb9d98c12 in glusterd_submit_reply (req=0xb9c01010, arg=0xbfbfe178,
    payload=0x0, payloadcount=0, iobref=0xb8c130b0, 
    xdrproc=0xbbb674b8 <xdr_gd1_mgmt_probe_rsp>) at glusterd-utils.c:544
#5  0xb9d842e9 in glusterd_handle_probe_query (req=0xb9c01010)
    at glusterd-handler.c:2058
#6  0xbbb753ad in rpcsvc_handle_rpc_call (svc=0xbb741320,
    msg=0xb8c11100) at rpcsvc.c:549
#7  0xbbb75905 in rpcsvc_notify (trans=0xb8c03800, mydata=0xbb741320, 
    event=RPC_TRANSPORT_MSG_RECEIVED, data=0xb8c11100) at rpcsvc.c:644
#8  0xbbb78c7a in rpc_transport_notify (this=0xb8c03800, 
    event=RPC_TRANSPORT_MSG_RECEIVED, data=0xb8c11100) at
#9  0xb9d5b03d in socket_event_poll_in (this=0xb8c03800) at
#10 0xb9d5b869 in socket_event_handler (fd=23, idx=13, data=0xb8c03800,
    poll_in=1, poll_out=0, poll_err=0) at socket.c:2230
#11 0xbbbd42b1 in event_dispatch_poll_handler (i=13, ufds=0xb8c9f080, 
    event_pool=0xbb741080) at event-poll.c:357
#12 event_dispatch_poll (event_pool=0xbb741080) at event-poll.c:436
#13 0xbbbb17e4 in event_dispatch (event_pool=0xbb741080) at event.c:113
#14 0x0804f4e2 in main (argc=3, argv=0xbfbfecac) at glusterfsd.c:1902

         if (!xdr_string (xdrs, &objp->op_errstr, ~0))
                 return FALSE;

(gdb) print *xdrs
$1 = {x_op = XDR_ENCODE, x_ops = 0xbfbfdfc4, x_public = 0xb8c130b4 "", 
  x_private = 0xb8c121d0, x_base = 0xc <Address 0xc out of bounds>, 
  x_handy = 100}
(gdb) print objp->op_errstr
$2 = 0x0

Emmanuel Dreyfus
manu at netbsd.org

More information about the Gluster-devel mailing list