+++ This bug was initially created as a clone of Bug #1488399 +++ Description of problem: tests/bugs/trace/bug-797171.t crashed at https://build.gluster.org/job/centos6-regression/6244/console ========================= #gdb -ex 'set sysroot ./' -ex 'core-file ./build/install/cores/glustersproc0-29050.core' ./build/install/sbin/glusterfsd Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fd325886436 in dht_check_and_open_fd_on_subvol_task (data=0x7fd3180015d0) at /home/jenkins/root/workspace/centos6-regression/xlators/cluster/dht/src/dht-helper.c:512 512 gf_msg_debug (this->name, 0, [Current thread is 1 (LWP 29056)] (gdb) l 507 if (fd_is_anonymous (fd) || dht_fd_open_on_dst (this, fd, subvol)) { 508 ret = 0; 509 goto out; 510 } 511 512 gf_msg_debug (this->name, 0, 513 "Opening fd (%p, flags=0%o) on file %s @ %s", 514 fd, fd->flags, uuid_utoa (fd->inode->gfid), 515 subvol->name); 516 (gdb) p fd $1 = (fd_t *) 0x0 (gdb) p local->fd $2 = (fd_t *) 0x0 (gdb) p local->fop $3 = GF_FOP_SETATTR (gdb) p local->op_ret $4 = -1 (gdb) p local->op_errno $5 = 9 ======================== local->fd was NULL. ernno was EBADF. Error-gen xlator on the brick had sent EBADF for setattr FOP which is non fd based: [2017-09-04 19:23:50.215311] E [error-gen.c:355:error_gen_setattr] 0-patchy-error-gen: unwind(-1, Bad file descriptor) --- Additional comment from Worker Ant on 2017-09-05 05:57:12 EDT --- REVIEW: https://review.gluster.org/18208 (dht: add FOP check to dht_file_setattr_cbk) posted (#1) for review on master by Ravishankar N (ravishankar) --- Additional comment from Worker Ant on 2017-09-06 22:17:08 EDT --- COMMIT: https://review.gluster.org/18208 committed in master by Raghavendra G (rgowdapp) ------ commit 47188e9eac59de416a5c86c7ec7540ed6aaa1c98 Author: Ravishankar N <ravishankar> Date: Tue Sep 5 15:18:58 2017 +0530 dht: add FOP check to dht_file_setattr_cbk Problem: bug-797171.7 loaded error-gen xlator on the brick which sent EBADF for a non fd-based fop, namely setattr. This caused dht_check_and_open_fd_on_subvol_task() to crash as local->fd was NULL. Fix: Call dht_check_and_open_fd_on_subvol_task() from dht_file_setattr_cbk only for dht_fsetattr and not dht_setattr or dht_setattr2 Signed-off-by: Ravishankar N <ravishankar> Change-Id: Iab4999e213bf2065804f3f8237e470ad454e3c99 BUG: 1488399 Reviewed-on: https://review.gluster.org/18208 Smoke: Gluster Build System <jenkins.org> Reviewed-by: Susant Palai <spalai> Reviewed-by: Amar Tumballi <amarts> Reviewed-by: Raghavendra G <rgowdapp> Reviewed-by: N Balachandran <nbalacha> CentOS-regression: Gluster Build System <jenkins.org>
REVIEW: https://review.gluster.org/18411 (dht: add FOP check to dht_file_setattr_cbk) posted (#1) for review on release-3.10 by Ravishankar N (ravishankar)
COMMIT: https://review.gluster.org/18411 committed in release-3.10 by Shyamsundar Ranganathan (srangana) ------ commit 5eab919dee035b9cf1b7f060bcf2d9eaa1e92eb3 Author: Ravishankar N <ravishankar> Date: Tue Sep 5 15:18:58 2017 +0530 dht: add FOP check to dht_file_setattr_cbk Problem: bug-797171.7 loaded error-gen xlator on the brick which sent EBADF for a non fd-based fop, namely setattr. This caused dht_check_and_open_fd_on_subvol_task() to crash as local->fd was NULL. Fix: Call dht_check_and_open_fd_on_subvol_task() from dht_file_setattr_cbk only for dht_fsetattr and not dht_setattr or dht_setattr2 > Reviewed-on: https://review.gluster.org/18208 > Smoke: Gluster Build System <jenkins.org> > Reviewed-by: Susant Palai <spalai> > Reviewed-by: Amar Tumballi <amarts> > Reviewed-by: Raghavendra G <rgowdapp> > Reviewed-by: N Balachandran <nbalacha> > CentOS-regression: Gluster Build System <jenkins.org> (cherry picked from commit 47188e9eac59de416a5c86c7ec7540ed6aaa1c98) Signed-off-by: Ravishankar N <ravishankar> Change-Id: Iab4999e213bf2065804f3f8237e470ad454e3c99 BUG: 1497122
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.10.6, please open a new bug report. glusterfs-3.10.6 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://lists.gluster.org/pipermail/announce/2017-October/000084.html [2] https://www.gluster.org/pipermail/gluster-users/