Bug 1477250 - Negative Test: glusterd crashes for some of the volume options if set at cluster level
Summary: Negative Test: glusterd crashes for some of the volume options if set at clus...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: glusterd
Version: rhgs-3.3
Hardware: Unspecified
OS: Unspecified
low
urgent
Target Milestone: ---
: RHGS 3.4.0
Assignee: Atin Mukherjee
QA Contact: Bala Konda Reddy M
URL:
Whiteboard: rebase
: 1509954 (view as bug list)
Depends On: 1482344 1482804
Blocks: 1503134
TreeView+ depends on / blocked
 
Reported: 2017-08-01 14:51 UTC by Nag Pavan Chilakam
Modified: 2021-12-10 15:11 UTC (History)
6 users (show)

Fixed In Version: glusterfs-3.12.2-1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1482344 (view as bug list)
Environment:
Last Closed: 2018-09-04 06:34:23 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:2607 0 None None None 2018-09-04 06:35:54 UTC

Description Nag Pavan Chilakam 2017-08-01 14:51:09 UTC
Description of problem:
====================
As part of verifying BZ#1453145 - Brick Multiplexing:dmesg shows request_sock_TCP: Possible SYN flooding on port 49152 

it was suggested to set the value of transport.listen-backlog  to a value of 128

I tried to set it at cluster level, and this led to glusterd crash.

The same is seen even with performance.parallel-readdir 


Although it is a volume level, it leads to crash


Version-Release number of selected component (if applicable):
======
3.8.4-36

How reproducible:
===========
always

Steps to Reproduce:
1.have a cluster
2. try to set performance.parallel-readdir  or ":transport.listen-backlog"  at cluster level as below
gluster v set all transport.listen-backlog 128

(or)
gluster v set all performance.parallel-readdir on



Actual results:
============
glusterd crashes

Expected results:
============
glusterd must exit and throw an error gracefully, if it is not the way of setting an option




core information:

Core was generated by `/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO'.
Program terminated with signal 11, Segmentation fault.
#0  glusterd_is_tier_daemon_running (volinfo=volinfo@entry=0x0) at glusterd-utils.c:6948
6948	        if (volinfo->type != GF_CLUSTER_TYPE_TIER)
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 device-mapper-event-libs-1.02.140-8.el7.x86_64 device-mapper-libs-1.02.140-8.el7.x86_64 elfutils-libelf-0.168-8.el7.x86_64 elfutils-libs-0.168-8.el7.x86_64 glibc-2.17-196.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-8.el7.x86_64 libattr-2.4.46-12.el7.x86_64 libblkid-2.23.2-43.el7.x86_64 libcap-2.22-9.el7.x86_64 libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7.x86_64 libselinux-2.5-11.el7.x86_64 libsepol-2.5-6.el7.x86_64 libuuid-2.23.2-43.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 lvm2-libs-2.02.171-8.el7.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 systemd-libs-219-42.el7.x86_64 userspace-rcu-0.7.9-2.el7rhgs.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0  glusterd_is_tier_daemon_running (volinfo=volinfo@entry=0x0) at glusterd-utils.c:6948
#1  0x00007effa612eb39 in glusterd_is_defrag_on (volinfo=volinfo@entry=0x0) at glusterd-utils.c:6970
#2  0x00007effa61b1c00 in validate_parallel_readdir (volinfo=0x0, dict=<optimized out>, key=0x7eff8c003630 "performance.parallel-readdir", value=<optimized out>, op_errstr=0x7eff94212d40)
    at glusterd-volume-set.c:1041
#3  0x00007effa610d943 in glusterd_op_stage_set_volume (dict=dict@entry=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40) at glusterd-op-sm.c:1083
#4  0x00007effa6111e8b in glusterd_op_stage_validate (op=op@entry=GD_OP_SET_VOLUME, dict=dict@entry=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40, rsp_dict=rsp_dict@entry=0x7eff98007b60)
    at glusterd-op-sm.c:5940
#5  0x00007effa61ae2ca in gd_stage_op_phase (op=<optimized out>, op_ctx=op_ctx@entry=0x7eff8c002f40, req_dict=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40, 
    txn_opinfo=txn_opinfo@entry=0x7eff94212d60) at glusterd-syncop.c:1307
#6  0x00007effa61afdde in gd_sync_task_begin (op_ctx=op_ctx@entry=0x7eff8c002f40, req=req@entry=0x7eff94012620) at glusterd-syncop.c:1935
#7  0x00007effa61b0120 in glusterd_op_begin_synctask (req=req@entry=0x7eff94012620, op=op@entry=GD_OP_SET_VOLUME, dict=0x7eff8c002f40) at glusterd-syncop.c:2008
#8  0x00007effa60f805f in __glusterd_handle_set_volume (req=req@entry=0x7eff94012620) at glusterd-handler.c:2121
#9  0x00007effa60fbf7e in glusterd_big_locked_handler (req=0x7eff94012620, actor_fn=0x7effa60f7a40 <__glusterd_handle_set_volume>) at glusterd-handler.c:81
#10 0x00007effb1689f02 in synctask_wrap (old_task=<optimized out>) at syncop.c:375
#11 0x00007effafccdd40 in ?? () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()
(gdb) t a  a bt

Thread 8 (Thread 0x7effa845c700 (LWP 11823)):
#0  0x00007effb04ba371 in sigwait () from /lib64/libpthread.so.0
#1  0x0000563b8d79101b in glusterfs_sigwaiter (arg=<optimized out>) at glusterfsd.c:2069
#2  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7effa2142700 (LWP 12102)):
#0  0x00007effb04b6945 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007effa61b138b in hooks_worker (args=<optimized out>) at glusterd-hooks.c:531
#2  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7effa1941700 (LWP 12103)):
#0  0x00007effafd7f923 in epoll_wait () from /lib64/libc.so.6
#1  0x00007effb16adfd2 in event_dispatch_epoll_worker (data=0x563b8dbec1f0) at event-epoll.c:638
#2  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7effb1b2e780 (LWP 11821)):
#0  0x00007effb04b3f57 in pthread_join () from /lib64/libpthread.so.0
#1  0x00007effb16ae490 in event_dispatch_epoll (event_pool=0x563b8db7dfd0) at event-epoll.c:732
#2  0x0000563b8d78deb3 in main (argc=5, argv=<optimized out>) at glusterfsd.c:2479

Thread 4 (Thread 0x7effa8c5d700 (LWP 11822)):
#0  0x00007effb04b9e4d in nanosleep () from /lib64/libpthread.so.0
#1  0x00007effb1660cfe in gf_timer_proc (data=0x563b8db85840) at timer.c:176
#2  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#3  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7effa6c59700 (LWP 11826)):
#0  0x00007effb04b6cf2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007effb168c438 in syncenv_task (proc=proc@entry=0x563b8db86450) at syncop.c:603
#2  0x00007effb168d280 in syncenv_processor (thdata=0x563b8db86450) at syncop.c:695
#3  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#4  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7effa7c5b700 (LWP 11824)):
#0  0x00007effafd461ad in nanosleep () from /lib64/libc.so.6
#1  0x00007effafd46044 in sleep () from /lib64/libc.so.6
#2  0x00007effb167a1cd in pool_sweeper (arg=<optimized out>) at mem-pool.c:464
#3  0x00007effb04b2e25 in start_thread () from /lib64/libpthread.so.0
#4  0x00007effafd7f34d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7effa745a700 (LWP 11825)):
#0  glusterd_is_tier_daemon_running (volinfo=volinfo@entry=0x0) at glusterd-utils.c:6948
#1  0x00007effa612eb39 in glusterd_is_defrag_on (volinfo=volinfo@entry=0x0) at glusterd-utils.c:6970
#2  0x00007effa61b1c00 in validate_parallel_readdir (volinfo=0x0, dict=<optimized out>, key=0x7eff8c003630 "performance.parallel-readdir", value=<optimized out>, op_errstr=0x7eff94212d40)
    at glusterd-volume-set.c:1041
#3  0x00007effa610d943 in glusterd_op_stage_set_volume (dict=dict@entry=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40) at glusterd-op-sm.c:1083
#4  0x00007effa6111e8b in glusterd_op_stage_validate (op=op@entry=GD_OP_SET_VOLUME, dict=dict@entry=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40, rsp_dict=rsp_dict@entry=0x7eff98007b60)
    at glusterd-op-sm.c:5940
#5  0x00007effa61ae2ca in gd_stage_op_phase (op=<optimized out>, op_ctx=op_ctx@entry=0x7eff8c002f40, req_dict=0x7eff8c002f40, op_errstr=op_errstr@entry=0x7eff94212d40,

Comment 3 Atin Mukherjee 2017-08-17 05:54:29 UTC
upstream patch : https://review.gluster.org/#/c/18052

Comment 4 Atin Mukherjee 2017-11-07 04:33:03 UTC
*** Bug 1509954 has been marked as a duplicate of this bug. ***

Comment 7 Bala Konda Reddy M 2018-02-23 07:23:25 UTC
BUILD : 3.12.2-4

Followed the steps in the description, glusterd isn't crashing. 

Hence marking it as verified.

Comment 9 errata-xmlrpc 2018-09-04 06:34:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2607


Note You need to log in before you can comment on or make changes to this bug.