| Summary: | gnfs crash in client_finodelk on CTRL-C on idle glusterfsd | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Shehjar Tikoo <shehjart> |
| Component: | protocol | Assignee: | Amar Tumballi <amarts> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | 3.1-alpha | CC: | gluster-bugs, 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: | RTP | Mount Type: | nfs |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
This is happening because 'finodelk()' is called in client from 'fini()'.. issue is proper cleanup.. should be fixed from this patch : http://patches.gluster.com/patch/4576/ |
[root@centos5 shehjart]# /home/shehjart/glusterfsd-master/sbin/glusterfs -f /home/shehjart/volfiles/nfs-4repl-master.vol -L NONE -l /dev/stdout --no-daemon Given volfile: +------------------------------------------------------------------------------+ 1: volume centos5-70-e1 2: type protocol/client 3: option transport-type tcp 4: option remote-port 9989 5: option remote-host 192.168.1.77 6: option remote-subvolume export1-master 7: end-volume 8: 9: volume ub8-71-e1 10: type protocol/client 11: option transport-type tcp 12: option remote-port 9989 13: option remote-host 192.168.1.78 14: option remote-subvolume export1-master 15: end-volume 16: 17: volume ub10-72-e1 18: type protocol/client 19: option transport-type tcp 20: option remote-port 9989 21: option remote-host 192.168.1.79 22: option remote-subvolume export1-master 23: end-volume 24: 25: volume rhel5-73-e1 26: type protocol/client 27: option transport-type tcp 28: option remote-port 9989 29: option remote-host 192.168.1.80 30: option remote-subvolume export1-master 31: end-volume 32: 33: volume 4repl 34: type cluster/replicate 35: subvolumes centos5-70-e1 ub8-71-e1 ub10-72-e1 rhel5-73-e1 36: end-volume 37: volume 4repl-wb 38: type performance/write-behind 39: subvolumes 4repl 40: end-volume 41: 42: volume 4repl-wb-ra 43: type performance/read-ahead 44: subvolumes 4repl-wb 45: end-volume 46: 47: volume 4repl-wb-ra-ioc 48: type performance/io-cache 49: subvolumes 4repl-wb-ra 50: end-volume 51: 52: volume 4repl-wb-ra-ioc-qr 53: type performance/quick-read 54: subvolumes 4repl-wb-ra-ioc 55: end-volume 56: 57: volume 4repl-stage 58: type performance/stat-prefetch 59: subvolumes 4repl-wb-ra-ioc-qr 60: end-volume 61: 62: volume nfs 63: type nfs/server 64: subvolumes 4repl-stage 65: option rpc-auth.addr.allow * 66: end-volume 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 /lib64/libc.so.6[0x32d5c302d0] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/protocol/client.so(client_finodelk+0x57)[0x2aaaaaab6647] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/cluster/replicate.so(afr_lock_blocking+0x655)[0x2aaaaad12b15] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/cluster/replicate.so[0x2aaaaad130f3] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/cluster/replicate.so[0x2aaaaad132e4] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/protocol/client.so(client3_1_finodelk_cbk+0xb4)[0x2aaaaaac2d24] /home/shehjart/glusterfsd-master//lib/libgfrpc.so.0(saved_frames_unwind+0x192)[0x2ba16ca94792] /home/shehjart/glusterfsd-master//lib/libgfrpc.so.0(saved_frames_destroy+0xe)[0x2ba16ca9480e] /home/shehjart/glusterfsd-master//lib/libgfrpc.so.0(rpc_clnt_connection_cleanup+0x7e)[0x2ba16ca9489e] /home/shehjart/glusterfsd-master//lib/libgfrpc.so.0(rpc_clnt_destroy+0x1d)[0x2ba16ca9490d] /home/shehjart/glusterfsd-master//lib/glusterfs/3.1.0git/xlator/protocol/client.so(fini+0x25)[0x2aaaaaab4f45] /home/shehjart/glusterfsd-master/sbin/glusterfs[0x4037b7] /lib64/libc.so.6[0x32d5c302d0] /lib64/libc.so.6(epoll_wait+0x58)[0x32d5cd4108] /home/shehjart/glusterfsd-master//lib/libglusterfs.so.0[0x2ba16c858cb7] /home/shehjart/glusterfsd-master/sbin/glusterfs(main+0x37d)[0x40471d] /lib64/libc.so.6(__libc_start_main+0xf4)[0x32d5c1d994] /home/shehjart/glusterfsd-master/sbin/glusterfs[0x402d09] --------- Segmentation fault (core dumped) Backtrace: Core was generated by `/home/shehjart/glusterfsd-master/sbin/glusterfs -f /home/shehjart/volfiles/nfs-'. Program terminated with signal 11, Segmentation fault. #0 client_finodelk (frame=0x2ba16d740bb8, this=0xf1fbc08, volume=0xf1fc9a8 "4repl", fd=0x2aaaae6e5bf0, cmd=7, lock=0x7fff70a30b20) at client.c:1249 1249 if (!conf->fops) (gdb) bt #0 client_finodelk (frame=0x2ba16d740bb8, this=0xf1fbc08, volume=0xf1fc9a8 "4repl", fd=0x2aaaae6e5bf0, cmd=7, lock=0x7fff70a30b20) at client.c:1249 #1 0x00002aaaaad12b15 in afr_lock_blocking (frame=0x2ba16d73c0b8, this=0xf1fcb08, child_index=3) at afr-lk-common.c:1002 #2 0x00002aaaaad130f3 in afr_lock_cbk (frame=0x2ba16d73c0b8, cookie=<value optimized out>, this=0xf1fcb08, op_ret=-1, op_errno=107) at afr-lk-common.c:751 #3 0x00002aaaaad132e4 in afr_blocking_inodelk_cbk (frame=0x2ba16d73c0b8, cookie=0x2, this=0xf1fcb08, op_ret=-1, op_errno=107) at afr-lk-common.c:765 #4 0x00002aaaaaac2d24 in client3_1_finodelk_cbk (req=<value optimized out>, iov=<value optimized out>, count=<value optimized out>, myframe=0x2ba16d73f338) at client3_1-fops.c:1103 #5 0x00002ba16ca94792 in saved_frames_unwind (saved_frames=0xf20e068) at rpc-clnt.c:337 #6 0x00002ba16ca9480e in saved_frames_destroy (frames=0xf20e068) at rpc-clnt.c:353 #7 0x00002ba16ca9489e in rpc_clnt_connection_cleanup (conn=0xf20d978) at rpc-clnt.c:500 #8 0x00002ba16ca9490d in rpc_clnt_destroy (rpc=0xf20d948) at rpc-clnt.c:1389 #9 0x00002aaaaaab4f45 in fini (this=<value optimized out>) at client.c:1810 #10 0x00000000004037b7 in cleanup_and_exit (signum=<value optimized out>) at glusterfsd.c:664 #11 <signal handler called> #12 0x00000032d5cd4108 in epoll_wait () from /lib64/libc.so.6 #13 0x00002ba16c858cb7 in event_dispatch_epoll (event_pool=0xf1f3b08) at event.c:859 #14 0x000000000040471d in main (argc=8, argv=0x7fff70a31808) at glusterfsd.c:1394 (gdb) p conf $1 = (clnt_conf_t *) 0x0 (gdb) list 1244 clnt_conf_t *conf = NULL; 1245 rpc_clnt_procedure_t *proc = NULL; 1246 clnt_args_t args = {0,}; 1247 1248 conf = this->private; 1249 if (!conf->fops) 1250 goto out; 1251 1252 args.fd = fd; 1253 args.cmd = cmd; (gdb) p this $2 = (xlator_t *) 0xf1fbc08 (gdb) p *this $3 = {name = 0xf1fbaa8 "rhel5-73-e1", type = 0xf1fc608 "protocol/client", next = 0xf1fad08, prev = 0xf1fcb08, parents = 0xf1fdd58, children = 0x0, options = 0xf1fc568, dlhandle = 0xf1f9280, fops = 0x2aaaaacd7b60, cbks = 0x2aaaaacd7b40, dumpops = 0x2aaaaacd7e00, volume_options = {next = 0xf1fc6c8, prev = 0xf1fc6c8}, fini = 0x2aaaaaab4f20 <fini>, init = 0x2aaaaaab53f0 <init>, mem_acct_init = 0x2aaaaaab50b0 <mem_acct_init>, notify = 0x2aaaaaab5520 <notify>, loglevel = GF_LOG_NONE, latencies = {{min = 0, max = 0, total = 0, std = 0, mean = 0, count = 0} <repeats 45 times>}, ctx = 0xf1f2010, graph = 0xf1f43a8, itable = 0x0, init_succeeded = 1 '\001', private = 0x0, mem_acct = {num_types = 80, rec = 0xf20a550}} (gdb) p *this->private Attempt to dereference a generic pointer. (gdb) p this->private $4 = (void *) 0x0