Bug 761921 (GLUSTER-189)

Summary: segfault in server-lookup
Product: [Community] GlusterFS Reporter: Amar Tumballi <amarts>
Component: protocolAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: low    
Version: 2.0.5CC: gluster-bugs, lakshmipathi, vraman
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: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Amar Tumballi 2009-08-04 20:06:27 UTC
Program terminated with signal 11, Segmentation fault.
#0  0xfedaa0b7 in _lwp_kill () from /lib/libc.so.1
(gdb) bt
#0  0xfedaa0b7 in _lwp_kill () from /lib/libc.so.1
#1  0xfeda5814 in thr_kill () from /lib/libc.so.1
#2  0xfed51df3 in raise () from /lib/libc.so.1
#3  0xfee631f2 in gf_print_trace (signum=11) at common-utils.c:424
#4  0xfeda742f in __sighndlr () from /lib/libc.so.1
#5  0xfed9d141 in call_user_handler () from /lib/libc.so.1
#6  <signal handler called>
#7  0xfed2598c in strlen () from /lib/libc.so.1
#8  0xfed80432 in _ndoprnt () from /lib/libc.so.1
#9  0xfed8337c in vfprintf () from /lib/libc.so.1
#10 0xfee5f85b in _gf_log (domain=0x80b0698 "brick-afr", file=0xfe3e7775 "server-protocol.c", 
    function=0xfe3e71c5 "server_lookup", line=3478, level=GF_LOG_ERROR, 
    fmt=0xfe3e8ba4 "%lld: %s (%lld): failed to unserialize request buffer to dictionary") at logging.c:198
#11 0xfe3daf82 in server_lookup (frame=0x8974da0, bound_xl=0x80b1990, hdr=0x8a3c040, hdrlen=214, iobuf=0x0)
    at server-protocol.c:3474
#12 0xfe3e33f2 in protocol_server_interpret (this=0x80b1a98, trans=0x89f9928, hdr_p=0x8a3c368 "", hdrlen=214, iobuf=0x0)
    at server-protocol.c:7473
#13 0xfe3e3dd5 in protocol_server_pollin (this=0x80b1a98, trans=0x89f9928) at server-protocol.c:7754
#14 0xfe3e3f0d in notify (this=0x80b1a98, event=0, data=0x89f9928) at server-protocol.c:7810
#15 0xfde93210 in ib_verbs_recv_completion_proc (data=0x80b0890) at ib-verbs.c:1149
#16 0xfeda7045 in _thr_setup () from /lib/libc.so.1
#17 0xfeda7330 in L3_doit () from /lib/libc.so.1
#18 0xfecc3200 in ?? ()

(gdb) fr 11
#11 0xfe3daf82 in server_lookup (frame=0x8974da0, bound_xl=0x80b1990, hdr=0x8a3c040, hdrlen=214, iobuf=0x0)
    at server-protocol.c:3474
3474                                    gf_log (bound_xl->name, GF_LOG_ERROR,
(gdb) l
3469                            GF_VALIDATE_OR_GOTO(bound_xl->name, xattr_req, fail);
3470    
3471                            ret = dict_unserialize (req_dictbuf, dictlen,
3472                                                    &xattr_req);
3473                            if (ret < 0) {
3474                                    gf_log (bound_xl->name, GF_LOG_ERROR,
3475                                            "%"PRId64": %s (%"PRId64"): failed to "
3476                                            "unserialize request buffer to dictionary", 
3477                                            frame->root->unique, state->loc.path, 
3478                                            state->ino);
(gdb) p ret
$1 = -1
(gdb) p *state
$2 = {trans = 0x89f9928, bound_xl = 0x80b1990, loc = {path = 0x0, name = 0x0, ino = 0, inode = 0x0, parent = 0x0}, loc2 = {
    path = 0x0, name = 0x0, ino = 0, inode = 0x0, parent = 0x0}, flags = 0, fd = 0x0, size = 0, offset = 0, mode = 0, 
  dev = 0, uid = 0, gid = 0, nr_count = 0, cmd = 0, type = 0, name = 0x0, name_len = 0, itable = 0x88b8ce8, fd_no = 0, 
  ino = 0, par = 6818550, ino2 = 0, par2 = 0, 
  path = 0x8a3c3a0 "/clients/seidman/rcclu-backup/080826_HWI-EA87_0002/080826_HWI-EAS87_0002/Data/C1-36_Firecrest1.9.2_31-08-2008_dherman.1/s_1_0147_int.txt.gz", path2 = 0x0, bname = 0x8a3c42c "s_1_0147_int.txt.g", bname2 = 0x0, mask = 0, 
  is_revalidate = 0 '\0', xattr_req = 0x0, flock = {l_type = 0, l_whence = 0, l_start = 0, l_len = 0, l_sysid = 0, l_pid = 0, 
    l_pad = {0, 0, 0, 0}}, tv = {{tv_sec = 0, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 0}}, resolved = 0x0, volume = 0x0}

Comment 1 Anand Avati 2009-08-04 20:47:51 UTC
PATCH: http://patches.gluster.com/patch/855 in release-2.0 (logging related bug fix in server_lookup())

Comment 2 Anand Avati 2009-08-04 21:07:10 UTC
PATCH: http://patches.gluster.com/patch/860 in master (logging related bug fix in server_lookup())

Comment 3 Anand Avati 2009-08-04 21:27:35 UTC
PATCH: http://patches.gluster.com/patch/865 in release-2.0 (server-lookup: added path info from header to log message)

Comment 4 Anand Avati 2009-08-04 21:38:43 UTC
PATCH: http://patches.gluster.com/patch/866 in master (server-lookup: added path info from header to log message)