Bug 1446584 - gluster-block: daemon crashes when an invalid hostname is given
Summary: gluster-block: daemon crashes when an invalid hostname is given
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: gluster-block
Version: rhgs-3.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: RHGS 3.3.0
Assignee: Prasanna Kumar Kalever
QA Contact: surabhi
URL:
Whiteboard:
Depends On:
Blocks: 1417151
TreeView+ depends on / blocked
 
Reported: 2017-04-28 11:52 UTC by Prasanna Kumar Kalever
Modified: 2017-09-21 04:17 UTC (History)
3 users (show)

Fixed In Version: gluster-block-0.2-1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-21 04:17:54 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2017:2773 0 normal SHIPPED_LIVE new packages: gluster-block 2017-09-21 08:16:22 UTC

Description Prasanna Kumar Kalever 2017-04-28 11:52:09 UTC
Description of problem:

'gluster-block create ...' crashes when provided an invalid block host.


These are the steps to recreate the bug consistently:

[root@localhost block-meta]# gluster-block create v1/block3 ha 1 google.com 1GB --json-pretty

[root@localhost block-meta]# echo $?
255 <<--- Please note that there was no output.


[root@localhost block-meta]# systemctl status gluster-blockd
● gluster-blockd.service - Gluster block storage utility
   Loaded: loaded (/usr/lib/systemd/system/gluster-blockd.service; disabled; vendor preset: di
   Active: failed (Result: signal) since Wed 2017-04-26 16:11:37 IST; 10s ago
  Process: 7902 ExecStart=/usr/sbin/gluster-blockd (code=killed, signal=SEGV)
 Main PID: 7902 (code=killed, signal=SEGV)

Apr 26 16:09:21 localhost.localdomain systemd[1]: Started Gluster block storage utility.
Apr 26 16:11:37 localhost.localdomain systemd[1]: gluster-blockd.service: Main process exited,
Apr 26 16:11:37 localhost.localdomain systemd[1]: gluster-blockd.service: Unit entered failed 
Apr 26 16:11:37 localhost.localdomain systemd[1]: gluster-blockd.service: Failed with result '


Crash shows the following bt:
Thread 1 (Thread 0x7f320d44e700 (LWP 7723)):
#0  0x00007f320e46c046 in strlen () from /lib64/libc.so.6
#1  0x00007f320e46bd7e in strdup () from /lib64/libc.so.6
#2  0x00007f320e9adcab in json_object_new_string () from /lib64/libjson-c.so.2
#3  0x00005654cb1c25b9 in block_create_cli_format_response (blk=blk@entry=0x7f320d44d550, 
    errCode=255, errMsg=<optimized out>, savereply=0x7f32000ca4a0, reply=0x7f3200004f10)
    at block_svc_routines.c:975
#4  0x00005654cb1c2a38 in block_create_cli_1_svc (blk=blk@entry=0x7f320d44d550, 
    rqstp=rqstp@entry=0x7f320d44d7b0) at block_svc_routines.c:1185
#5  0x00005654cb1be1bb in gluster_block_cli_1 (rqstp=0x7f320d44d7b0, transp=0x7f3200002bd0)
    at block_svc.c:70
#6  0x00007f320e5192a1 in svc_getreq_common () from /lib64/libc.so.6
#7  0x00007f320e5193e7 in svc_getreq_poll () from /lib64/libc.so.6
#8  0x00007f320e51cd01 in svc_run () from /lib64/libc.so.6
#9  0x00005654cb1be055 in glusterBlockCliThreadProc (vargp=<optimized out>)
    at gluster-blockd.c:101
#10 0x00007f320f7176ca in start_thread () from /lib64/libpthread.so.0
#11 0x00007f320e4e6f6f in clone () from /lib64/libc.so.6
(gdb) fr 3
#3  0x00005654cb1c25b9 in block_create_cli_format_response (blk=blk@entry=0x7f320d44d550, 
    errCode=255, errMsg=<optimized out>, savereply=0x7f32000ca4a0, reply=0x7f3200004f10)
    at block_svc_routines.c:975
975	    json_object_object_add(json_obj, "IQN",
(gdb) l
970	    return;
971	  }
972	
973	  if (blk->json_resp) {
974	    json_obj = json_object_new_object();
975	    json_object_object_add(json_obj, "IQN",
976	                           json_object_new_string(savereply->iqn));
977	
978	    json_array = json_object_new_array();
979	
(gdb) p savereply->iqn
$1 = 0x0
(gdb) p errCode
$2 = 255
(gdb) p errMsg
$3 = <optimized out>


Version-Release number of selected component (if applicable):
0.1.1

Comment 4 Prasanna Kumar Kalever 2017-05-08 06:34:34 UTC
Merged: https://review.gluster.org/#/c/17183/

Comment 6 surabhi 2017-06-13 09:32:15 UTC
gluster-block create blockstor/hiblock ha 1 google.com 1GiBfailed to configure on google.com : Connection timed out
RESULT:FAIL
[root@dhcp46-152 ~]# systemctl status gluster-blockd
● gluster-blockd.service - Gluster block storage utility
   Loaded: loaded (/usr/lib/systemd/system/gluster-blockd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-06-13 05:26:18 EDT; 3min 26s ago


It does not creates block with an invalid host and provides proper error messages.
There is no crash also seen.Marking the BZ verified.

gluster-block-0.2.1-1.el7rhgs.x86_64
tcmu-runner-1.2.0-4.el7rhgs.x86_64

Comment 8 errata-xmlrpc 2017-09-21 04:17:54 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/RHEA-2017:2773


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