Bug 1228079 - [Backup]: Crash observed when keyboard interrupt is encountered in the middle of any glusterfind command
Summary: [Backup]: Crash observed when keyboard interrupt is encountered in the middle...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: glusterfind
Version: rhgs-3.1
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: RHGS 3.1.2
Assignee: Aravinda VK
QA Contact: Anil Shah
URL:
Whiteboard:
Depends On:
Blocks: 1223636 1243812 1260783 1282465
TreeView+ depends on / blocked
 
Reported: 2015-06-04 07:37 UTC by Sweta Anandpara
Modified: 2016-09-17 15:20 UTC (History)
9 users (show)

Fixed In Version: glusterfs-3.7.5-7
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1243812 (view as bug list)
Environment:
Last Closed: 2016-03-01 05:25:18 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:0193 0 normal SHIPPED_LIVE Red Hat Gluster Storage 3.1 update 2 2016-03-01 10:20:36 UTC

Description Sweta Anandpara 2015-06-04 07:37:18 UTC
Description of problem:
While executing any of the glusterfind CLI commands, if Ctrl+C is pressed before the command is completed, it results in a crash with the below trace:

[root@dhcp43-48 ~]# glusterfind pre sessn1 nash outn1.txt --output-prefix /tmp/ -N
^CProcess Process-3:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 232, in _bootstrap
Process Process-2:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 232, in _bootstrap
Traceback (most recent call last):
  File "/usr/bin/glusterfind", line 17, in <module>
    main()
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 519, in main
    globals()["mode_" + args.mode](session_dir, args)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 380, in mode_pre
    run_cmd_nodes("pre", args, start=start)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 161, in run_cmd_nodes
    p.join()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 119, in join
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 232, in _bootstrap
Process Process-4:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 232, in _bootstrap
    self.run()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 65, in node_cmd
    execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
  File "/usr/libexec/glusterfs/glusterfind/utils.py", line 164, in execute
    (out, err) = p.communicate()
  File "/usr/lib64/python2.6/subprocess.py", line 732, in communicate
    self.run()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 65, in node_cmd
    execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
  File "/usr/libexec/glusterfs/glusterfind/utils.py", line 164, in execute
    (out, err) = p.communicate()
  File "/usr/lib64/python2.6/subprocess.py", line 732, in communicate
    res = self._popen.wait(timeout)
  File "/usr/lib64/python2.6/multiprocessing/forking.py", line 122, in wait
    self.run()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 65, in node_cmd
    execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
  File "/usr/libexec/glusterfs/glusterfind/utils.py", line 164, in execute
    (out, err) = p.communicate()
  File "/usr/lib64/python2.6/subprocess.py", line 732, in communicate
    self.run()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/libexec/glusterfs/glusterfind/main.py", line 65, in node_cmd
    execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
  File "/usr/libexec/glusterfs/glusterfind/utils.py", line 164, in execute
    (out, err) = p.communicate()
  File "/usr/lib64/python2.6/subprocess.py", line 732, in communicate
    stdout, stderr = self._communicate(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1316, in _communicate
    stdout, stderr = self._communicate_with_poll(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1388, in _communicate_with_poll
    ready = poller.poll(self._remaining_time(endtime))
KeyboardInterrupt
    stdout, stderr = self._communicate(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1316, in _communicate
    stdout, stderr = self._communicate_with_poll(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1388, in _communicate_with_poll
    ready = poller.poll(self._remaining_time(endtime))
KeyboardInterrupt
    stdout, stderr = self._communicate(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1316, in _communicate
    stdout, stderr = self._communicate_with_poll(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1388, in _communicate_with_poll
    ready = poller.poll(self._remaining_time(endtime))
KeyboardInterrupt
    stdout, stderr = self._communicate(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1316, in _communicate
    stdout, stderr = self._communicate_with_poll(input, endtime)
  File "/usr/lib64/python2.6/subprocess.py", line 1388, in _communicate_with_poll
    ready = poller.poll(self._remaining_time(endtime))
KeyboardInterrupt
    return self.poll(0)
  File "/usr/lib64/python2.6/multiprocessing/forking.py", line 107, in poll
    pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt


Version-Release number of selected component (if applicable):
glusterfs-3.7.0-3.el6rhs.x86_64

How reproducible:    Always

Additional info:

Comment 3 Aravinda VK 2015-07-16 13:11:52 UTC
Upstream patch is sent
http://review.gluster.org/#/c/11698/

Comment 6 Aravinda VK 2015-08-18 09:46:38 UTC
Patch posted upstream http://review.gluster.org/#/c/11698/

Comment 11 Aravinda VK 2015-11-20 10:23:50 UTC
Downstream patch https://code.engineering.redhat.com/gerrit/61973

Comment 12 Anil Shah 2015-12-04 10:17:31 UTC
[root@rhs001 ~]# glusterfind pre new_vol0 vol0  outn1.txt --output-prefix /tmp/
^C

[root@rhs001 ~]# glusterfind create new_vol0 vol0
^C

No trace back observed when keyboard interrupt is encountered in the middle of glusterfind command.

Bug verified on bug glusterfs-3.7.5-8.el7rhgs.x86_64

Comment 14 errata-xmlrpc 2016-03-01 05:25:18 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://rhn.redhat.com/errata/RHBA-2016-0193.html


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