Bug 1452956
| Summary: | glusterd on a node crashed after running volume profile command | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Gaurav Yadav <gyadav> |
| Component: | glusterd | Assignee: | Gaurav Yadav <gyadav> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | mainline | CC: | amukherj, bmekala, bugs, rhinduja, rhs-bugs, simon.johannes.smit, storage-qa-internal, tdesala, vbellur |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glusterfs-3.12.0 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1452205 | Environment: | |
| Last Closed: | 2017-09-05 17:30:44 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1452205, 1454612 | ||
|
Description
Gaurav Yadav
2017-05-21 05:28:47 UTC
REVIEW: https://review.gluster.org/17350 (glusterd : volume profile command on one of the node crashes glusterd) posted (#1) for review on master by Gaurav Yadav (gyadav) REVIEW: https://review.gluster.org/17350 (glusterd : volume profile command on one of the node crashes glusterd) posted (#2) for review on master by Gaurav Yadav (gyadav) COMMIT: https://review.gluster.org/17350 committed in master by Atin Mukherjee (amukherj) ------ commit 8dc63c8824fc1a00c873c16e8a16a14fca7c8cca Author: Gaurav Yadav <gyadav> Date: Sun May 21 12:31:29 2017 +0530 glusterd : volume profile command on one of the node crashes glusterd When volume profile command is issued on one of the node glusterd crashes. Its a race condition which may hit when profile command and status command is being executed from node A and node B respectively. While doing so event GD_OP_STATE_BRICK_OP_SENT/GD_OP_STATE_BRICK_COMMITTED is being triggered. As handling of event is not thread safe, hence context got modify and glusterd crashes. With the fix now we are validating the context before using it. Change-Id: Ic07c3cdc5644677b0e40ff0fac6fcca834158913 BUG: 1452956 Signed-off-by: Gaurav Yadav <gyadav> Reviewed-on: https://review.gluster.org/17350 Smoke: Gluster Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Samikshan Bairagya <samikshan> NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: Atin Mukherjee <amukherj> REVIEW: https://review.gluster.org/17478 (glusterd: fix glusterd crash from glusterd_op_ac_rcvd_brick_op_acc) posted (#1) for review on master by Atin Mukherjee (amukherj) COMMIT: https://review.gluster.org/17478 committed in master by Atin Mukherjee (amukherj) ------ commit bae51359b4a3a7a9c16424b43eb5ad14f0fcad53 Author: Atin Mukherjee <amukherj> Date: Tue Jun 6 17:45:51 2017 +0530 glusterd: fix glusterd crash from glusterd_op_ac_rcvd_brick_op_acc In out label, before checking ev_ctx->rsp_dict we should first check if ev_ctx is not NULL Change-Id: I28f4f1ee9070617a0e6a23a43af8c5756f96a47e BUG: 1452956 Signed-off-by: Atin Mukherjee <amukherj> Reviewed-on: https://review.gluster.org/17478 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Gaurav Yadav <gyadav> Reviewed-by: Samikshan Bairagya <samikshan> had a very similar crash after running profile start followed by profile info(~2 min later) both on same server. [2017-06-21 09:41:24.109867] : volume profile gluster start : SUCCESS [2017-06-21 09:42:54.713030] : volume profile gluster info : FAILED : error 3 node replica with 1 volume (all 3 nodes are clients and servers) brick on node 1 crashed right after the profile info. brick on node 2 followed on 2017-06-21 09:44:07 with exact same symptoms/log entry without having had any command run at that moment, causing the clients to become read-only. pending frames: frame : type(0) op(27) frame : type(0) op(0) patchset: git://git.gluster.org/glusterfs.git signal received: 11 time of crash: 2017-06-21 09:44:07 configuration details: argp 1 backtrace 1 dlfcn 1 libpthread 1 llistxattr 1 setfsid 1 spinlock 1 epoll.h 1 xattr.h 1 st_atim.tv_nsec 1 package-string: glusterfs 3.10.1 /usr/lib/x86_64-linux-gnu/libglusterfs.so.0(_gf_msg_backtrace_nomem+0xaa)[0x7f2b0dcefbda] /usr/lib/x86_64-linux-gnu/libglusterfs.so.0(gf_print_trace+0x324)[0x7f2b0dcf9294] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f2b0d0e54b0] /usr/lib/x86_64-linux-gnu/libglusterfs.so.0(default_lookup+0x1b)[0x7f2b0dd6072b] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/debug/io-stats.so(+0x4533)[0x7f2b01354533] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0x2d19f)[0x7f2b0113319f] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xb746)[0x7f2b01111746] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xb7d5)[0x7f2b011117d5] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xc14c)[0x7f2b0111214c] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xb81e)[0x7f2b0111181e] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xbeeb)[0x7f2b01111eeb] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xc178)[0x7f2b01112178] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xb7fe)[0x7f2b011117fe] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0xc1f4)[0x7f2b011121f4] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server.so(+0x2d379)[0x7f2b01133379] /usr/lib/x86_64-linux-gnu/libgfrpc.so.0(rpcsvc_handle_rpc_call+0x325)[0x7f2b0dabb2a5] /usr/lib/x86_64-linux-gnu/libgfrpc.so.0(rpcsvc_notify+0x17e)[0x7f2b0dabb51e] /usr/lib/x86_64-linux-gnu/libgfrpc.so.0(rpc_transport_notify+0x23)[0x7f2b0dabd403] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/rpc-transport/socket.so(+0x6b66)[0x7f2b08e55b66] /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/rpc-transport/socket.so(+0x8d4f)[0x7f2b08e57d4f] /usr/lib/x86_64-linux-gnu/libglusterfs.so.0(+0x7663a)[0x7f2b0dd4363a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f2b0d4806ba] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f2b0d1b682d] --------- (In reply to Qarion from comment #6) > had a very similar crash after running profile start followed by profile > info(~2 min later) both on same server. > [2017-06-21 09:41:24.109867] : volume profile gluster start : SUCCESS > [2017-06-21 09:42:54.713030] : volume profile gluster info : FAILED : error > > 3 node replica with 1 volume (all 3 nodes are clients and servers) > brick on node 1 crashed right after the profile info. > brick on node 2 followed on 2017-06-21 09:44:07 with exact same symptoms/log > entry without having had any command run at that moment, causing the clients > to become read-only. > > pending frames: > frame : type(0) op(27) > frame : type(0) op(0) > patchset: git://git.gluster.org/glusterfs.git > signal received: 11 > time of crash: > 2017-06-21 09:44:07 > configuration details: > argp 1 > backtrace 1 > dlfcn 1 > libpthread 1 > llistxattr 1 > setfsid 1 > spinlock 1 > epoll.h 1 > xattr.h 1 > st_atim.tv_nsec 1 > package-string: glusterfs 3.10.1 > /usr/lib/x86_64-linux-gnu/libglusterfs.so. > 0(_gf_msg_backtrace_nomem+0xaa)[0x7f2b0dcefbda] > /usr/lib/x86_64-linux-gnu/libglusterfs.so. > 0(gf_print_trace+0x324)[0x7f2b0dcf9294] > /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f2b0d0e54b0] > /usr/lib/x86_64-linux-gnu/libglusterfs.so. > 0(default_lookup+0x1b)[0x7f2b0dd6072b] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/debug/io-stats. > so(+0x4533)[0x7f2b01354533] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0x2d19f)[0x7f2b0113319f] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xb746)[0x7f2b01111746] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xb7d5)[0x7f2b011117d5] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xc14c)[0x7f2b0111214c] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xb81e)[0x7f2b0111181e] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xbeeb)[0x7f2b01111eeb] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xc178)[0x7f2b01112178] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xb7fe)[0x7f2b011117fe] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0xc1f4)[0x7f2b011121f4] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/xlator/protocol/server. > so(+0x2d379)[0x7f2b01133379] > /usr/lib/x86_64-linux-gnu/libgfrpc.so. > 0(rpcsvc_handle_rpc_call+0x325)[0x7f2b0dabb2a5] > /usr/lib/x86_64-linux-gnu/libgfrpc.so.0(rpcsvc_notify+0x17e)[0x7f2b0dabb51e] > /usr/lib/x86_64-linux-gnu/libgfrpc.so. > 0(rpc_transport_notify+0x23)[0x7f2b0dabd403] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/rpc-transport/socket. > so(+0x6b66)[0x7f2b08e55b66] > /usr/lib/x86_64-linux-gnu/glusterfs/3.10.1/rpc-transport/socket. > so(+0x8d4f)[0x7f2b08e57d4f] > /usr/lib/x86_64-linux-gnu/libglusterfs.so.0(+0x7663a)[0x7f2b0dd4363a] > /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f2b0d4806ba] > /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f2b0d1b682d] > --------- The backtrace doesn't indicate it to be a glusterd crash. You need to open a different bug with the corefile attached. 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.12.0, please open a new bug report. glusterfs-3.12.0 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-September/000082.html [2] https://www.gluster.org/pipermail/gluster-users/ |