Bug 1282465 - [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 CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: glusterfind
Version: 3.7.5
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Aravinda VK
QA Contact: bugs@gluster.org
URL:
Whiteboard:
Depends On: 1228079 1243812
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-16 14:01 UTC by Aravinda VK
Modified: 2016-04-19 07:48 UTC (History)
5 users (show)

Fixed In Version: glusterfs-3.7.7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1243812
Environment:
Last Closed: 2016-02-15 06:28:10 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Aravinda VK 2015-11-16 14:01:01 UTC
+++ This bug was initially created as a clone of Bug #1243812 +++

+++ This bug was initially created as a clone of Bug #1228079 +++

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 comment from Aravinda VK on 2015-07-16 08:29:56 EDT ---

Upstream Patch is sent
http://review.gluster.org/#/c/11698/

--- Additional comment from Anand Avati on 2015-07-23 01:04:06 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#2) for review on master by Aravinda VK (avishwan)

--- Additional comment from Anand Avati on 2015-08-05 04:06:43 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#3) for review on master by Aravinda VK (avishwan)

--- Additional comment from Anand Avati on 2015-08-12 05:46:25 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#4) for review on master by Aravinda VK (avishwan)

--- Additional comment from Anand Avati on 2015-08-19 01:59:08 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#5) for review on master by Aravinda VK (avishwan)

--- Additional comment from Anand Avati on 2015-08-26 01:57:03 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#6) for review on master by Aravinda VK (avishwan)

--- Additional comment from Vijay Bellur on 2015-10-14 02:22:09 EDT ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#9) for review on master by Aravinda VK (avishwan)

--- Additional comment from Vijay Bellur on 2015-11-02 01:24:47 EST ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#10) for review on master by Aravinda VK (avishwan)

--- Additional comment from Vijay Bellur on 2015-11-16 00:35:08 EST ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#13) for review on master by Aravinda VK (avishwan)

--- Additional comment from Vijay Bellur on 2015-11-16 06:05:11 EST ---

REVIEW: http://review.gluster.org/11698 (tools/glusterfind: Handle Keyboard interrupt) posted (#14) for review on master by Aravinda VK (avishwan)

Comment 1 Vijay Bellur 2015-11-19 04:39:16 UTC
REVIEW: http://review.gluster.org/12649 (tools/glusterfind: Handle Keyboard interrupt) posted (#1) for review on release-3.7 by Aravinda VK (avishwan)

Comment 2 Vijay Bellur 2015-11-21 14:20:47 UTC
REVIEW: http://review.gluster.org/12649 (tools/glusterfind: Handle Keyboard interrupt) posted (#2) for review on release-3.7 by Aravinda VK (avishwan)

Comment 3 Vijay Bellur 2015-11-23 05:02:09 UTC
REVIEW: http://review.gluster.org/12649 (tools/glusterfind: Handle Keyboard interrupt) posted (#3) for review on release-3.7 by Aravinda VK (avishwan)

Comment 4 Vijay Bellur 2015-11-25 07:19:50 UTC
COMMIT: http://review.gluster.org/12649 committed in release-3.7 by Venky Shankar (vshankar) 
------
commit 911b74a27a467a4e546a0c8765fd3b8de6feee05
Author: Aravinda VK <avishwan>
Date:   Thu Jul 16 17:05:25 2015 +0530

    tools/glusterfind: Handle Keyboard interrupt
    
    Do not print Python traceback when glusterfind command is interrupted
    
    Change-Id: I67383534f965e410fef7ce09798e9d435ef738ae
    Signed-off-by: Aravinda VK <avishwan>
    BUG: 1282465
    Reviewed-on: http://review.gluster.org/11698
    Tested-by: NetBSD Build System <jenkins.org>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Milind Changire <mchangir>
    Reviewed-by: Saravanakumar Arumugam <sarumuga>
    Reviewed-by: Venky Shankar <vshankar>
     (cherry picked from commit 6c3895fd132765a5ad098b9ef35e037be7d116b1)
    Reviewed-on: http://review.gluster.org/12649
    Reviewed-by: Kotresh HR <khiremat>

Comment 5 Kaushal 2016-04-19 07:48:11 UTC
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.7.7, please open a new bug report.

glusterfs-3.7.7 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] https://www.gluster.org/pipermail/gluster-users/2016-February/025292.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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