Bug 762927 (GLUSTER-1195)

Summary: crash in protocol server due to unauthenticated fop request..
Product: [Community] GlusterFS Reporter: Amar Tumballi <amarts>
Component: protocolAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: low    
Version: mainlineCC: gluster-bugs, rabhat, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTP Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Amar Tumballi 2010-07-21 17:15:43 UTC
seen this crash with current protocol

client log file:

[2010-07-21 22:38:49.262173] N [fuse-bridge.c:2985:fuse_init] glusterfs-fuse: FUSE inited with protocol versions: glusterfs 7.13 kernel 7.12
[2010-07-21 22:38:49.262504] N [client-handshake.c:619:select_server_supported_programs] localhost-2: Using Program GlusterFS-3.1.0, Num (1298437), Version (310)
[2010-07-21 22:38:49.262597] N [client-handshake.c:619:select_server_supported_programs] localhost-1: Using Program GlusterFS-3.1.0, Num (1298437), Version (310)
[2010-07-21 22:38:49.262723] W [client-handshake.c:402:client_setvolume_cbk] localhost-2: failed to set the volume
[2010-07-21 22:38:49.262744] E [client-handshake.c:434:client_setvolume_cbk] localhost-2: SETVOLUME on remote-host failed: remote-subvolume "/tmp/export/002/" is not found
[2010-07-21 22:38:49.263342] N [client-handshake.c:472:client_setvolume_cbk] localhost-1: Connected to 127.0.0.1:10000, attached to remote volume '/tmp/export/001/'.
[2010-07-21 22:38:50.287530] E [rpc-clnt.c:324:saved_frames_unwind] rpc-clnt: forced unwinding frame type(GlusterFS 3.1) op(LOOKUP(27)) called at 2010-07-21 22:38:50.263451
[2010-07-21 22:38:50.287658] E [rpc-clnt.c:324:saved_frames_unwind] rpc-clnt: forced unwinding frame type(GlusterFS 3.1) op(SETXATTR(17)) called at 2010-07-21 22:38:50.287626
[2010-07-21 22:38:50.288162] W [fuse-bridge.c:810:fuse_attr_cbk] glusterfs-fuse: 2: LOOKUP() / => -1 (Success)
[2010-07-21 22:38:50.288512] E [socket.c:1371:socket_connect_finish] localhost-2: connection to 127.0.0.1:10000 failed (Connection refused)
[2010-07-21 22:38:53.284352] E [socket.c:1371:socket_connect_finish] localhost-1: connection to 127.0.0.1:10000 failed (Connection refused)
[2010-07-21 22:40:10.409981] W [fuse-bridge.c:810:fuse_attr_cbk] glusterfs-fuse: 44: LOOKUP() / => -1 (Success)
[2010-07-21 22:41:34.410216] W [fuse-bridge.c:810:fuse_attr_cbk] glusterfs-fuse: 86: LOOKUP() / => -1 (Success)
[2010-07-21 22:42:58.406957] W [fuse-bridge.c:810:fuse_attr_cbk] glusterfs-fuse: 128: LOOKUP() / => -1 (Success)


server log file:

[2010-07-21 22:38:49.262779] N [server-handshake.c:511:server_setvolume] server-tcp: accepted client from 127.0.0.1:1020
pending frames:

patchset: git://git.sv.gnu.org/gluster.git
signal received: 11
time of crash: 2010-07-21 22:38:50
configuration details:
argp 1
backtrace 1
dlfcn 1
fdatasync 1
libpthread 1
llistxattr 1
setfsid 1
spinlock 1
epoll.h 1
xattr.h 1
st_atim.tv_nsec 1
package-string: glusterfs 3.1.0git
/lib/libc.so.6[0x7f498b33d530]
/lib/libpthread.so.0(pthread_mutex_lock+0x1)[0x7f498b683081]
/usr/local/lib/libglusterfs.so.0(inode_get+0x28)[0x7f498bef45b0]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(resolve_inode_simple+0xb2)[0x7f4989a3dfeb]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(server_resolve_inode+0x78)[0x7f4989a3e10e]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(server_resolve+0x9e)[0x7f4989a3e2d0]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(server_resolve_all+0x79)[0x7f4989a3e3fb]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(resolve_and_resume+0x53)[0x7f4989a3e514]
/usr/local/lib/glusterfs/3.1.0git/xlator/protocol/server.so(server_lookup+0x421)[0x7f4989a546ef]
/usr/local/lib/libgfrpc.so.0(rpcsvc_handle_rpc_call+0x19e)[0x7f498bcbb7f8]
/usr/local/lib/libgfrpc.so.0(rpcsvc_notify+0x170)[0x7f498bcbb9a3]
/usr/local/lib/libgfrpc.so.0(rpc_transport_notify+0xbf)[0x7f498bcc0dcc]
/usr/local/lib/glusterfs/3.1.0git/rpc-transport/socket.so(socket_event_poll_in+0x54)[0x7f4989626b67]
/usr/local/lib/glusterfs/3.1.0git/rpc-transport/socket.so(socket_event_handler+0xc4)[0x7f4989626e9c]
/usr/local/lib/libglusterfs.so.0[0x7f498bf08de9]
/usr/local/lib/libglusterfs.so.0[0x7f498bf08feb]
/usr/local/lib/libglusterfs.so.0(event_dispatch+0x74)[0x7f498bf0930d]
glusterfs(main+0xfb)[0x405721]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7f498b328abd]
glusterfs[0x402d29]
---------

Comment 1 Amar Tumballi 2010-07-23 06:08:18 UTC
*** Bug 1207 has been marked as a duplicate of this bug. ***

Comment 2 Anand Avati 2010-07-23 08:28:52 UTC
PATCH: http://patches.gluster.com/patch/3868 in master (handle some NULL dereference in server protocol)

Comment 3 Anand Avati 2010-07-23 08:28:56 UTC
PATCH: http://patches.gluster.com/patch/3869 in master (client protocol should send the fops only after handshake)