Bug 761739 (GLUSTER-7)

Summary: client-protocol crash
Product: [Community] GlusterFS Reporter: Vikas Gorur <vikas>
Component: protocolAssignee: Vikas Gorur <vikas>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: low    
Version: mainlineCC: fharshav, gluster-bugs
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: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Harshavardhana 2009-06-08 08:06:28 UTC
looks fixed??

commit 49523c834f075007352d07bf09463af9499b59f5
Author: Raghavendra G <raghavendra>
Date:   Fri May 15 03:56:22 2009 -0700

    client-protocol: Fix memory corruption in client_lookup
    
    - memory corruption was due to new members being added between allocation
        of buffer for serializing xattr_req dictionary and dict_serialize of
        xattr_req.
    
    Signed-off-by: Anand V. Avati <avati.com>

Comment 1 Vikas Gorur 2009-06-08 08:12:12 UTC
(In reply to comment #1)
> looks fixed??

Need to ask the user to confirm if it has been fixed in current repository.

Comment 2 Vikas Gorur 2009-06-08 10:40:03 UTC
Reported by Steve <steeeeeveee> on the mailing list:

I have a very strange issue with 2.0.1. I have 2 systems. On each system there is server AND client running. The 2 servers are using serverside afr/replicate and the client on each is connected to a single brick/volume exported on his local server. The client does not know anything about the other server.

However... after the "ls" command on the server/client where the file was transferred to, the other server/client crashes with the following log:
+------------------------------------------------------------------------------+
[2009-06-05 22:31:48] N [afr.c:2190:notify] gfs-srv-ds-replicate: Subvolume 'gfs-srv-ds-locks' came back up; going online.
[2009-06-05 22:31:48] N [afr.c:2190:notify] gfs-srv-ds-replicate: Subvolume 'gfs-srv-ds-locks' came back up; going online.
[2009-06-05 22:31:48] N [afr.c:2190:notify] gfs-srv-ds-replicate: Subvolume 'gfs-srv-ds-locks' came back up; going online.
[2009-06-05 22:31:48] N [afr.c:2190:notify] gfs-srv-ds-replicate: Subvolume 'gfs-srv-ds-locks' came back up; going online.
[2009-06-05 22:31:48] N [glusterfsd.c:1152:main] glusterfs: Successfully started
[2009-06-05 22:31:48] N [client-protocol.c:5557:client_setvolume_cbk] gfs-srv-ds-remote: Connected to 192.168.0.77:6997, attached to remote volume 'gfs-srv-ds-locks'.
[2009-06-05 22:31:48] N [client-protocol.c:5557:client_setvolume_cbk] gfs-srv-ds-remote: Connected to 192.168.0.77:6997, attached to remote volume 'gfs-srv-ds-locks'.
[2009-06-05 22:31:51] N [server-protocol.c:7035:mop_setvolume] gfs-srv-ds-server: accepted client from 192.168.0.77:1021
[2009-06-05 22:31:51] N [server-protocol.c:7035:mop_setvolume] gfs-srv-ds-server: accepted client from 127.0.0.1:1023
[2009-06-05 22:31:51] N [server-protocol.c:7035:mop_setvolume] gfs-srv-ds-server: accepted client from 127.0.0.1:1022
[2009-06-05 22:31:51] N [server-protocol.c:7035:mop_setvolume] gfs-srv-ds-server: accepted client from 192.168.0.77:1020
pending frames:
frame : type(1) op(LOOKUP)

patchset: 5c1d9108c1529a1155963cb1911f8870a674ab5b
signal received: 11
configuration details:argp 1
backtrace 1
dlfcn 1
fdatasync 1
libpthread 1
llistxattr 1
setfsid 1
spinlock 1
xattr.h 1
st_atim.tv_nsec 1
package-string: glusterfs 2.0.1
[0xffffe400]
/usr/lib/glusterfs/2.0.1/xlator/protocol/client.so(client_lookup+0x96)[0xb75573fb]
/usr/lib/glusterfs/2.0.1/xlator/cluster/replicate.so(afr_lookup+0x22f)[0xb7517a05]
/usr/lib/glusterfs/2.0.1/xlator/cluster/nufa.so(nufa_lookup+0x3ea)[0xb7503fa9]
/usr/lib/glusterfs/2.0.1/xlator/performance/io-threads.so(iot_lookup_wrapper+0xa5)[0xb74e8415]
/usr/lib/libglusterfs.so.0(call_resume+0x344)[0xb7f47e01]
/usr/lib/glusterfs/2.0.1/xlator/performance/io-threads.so(iot_worker_unordered+0x20)[0xb74e5895]
/lib/libpthread.so.0[0xb7f154cf]
/lib/libc.so.6(clone+0x5e)[0xb7e9b27e]
---------