Created attachment 751475 [details]
Patch to fix the issue in python-progressbar
Description of problem:
The python-progressbar signal handler for SIGWINCH causes system calls to be interrupted instead of restarting them. I've attached a patch that solves the issue.
Version-Release number of selected component (if applicable):
Every time if you use any euca2ools 3.0.0 alpha build  with requestbuilder 0.1.0-alpha10 or older.
Steps to Reproduce:
1. Install the latest version of euca2ools 3.0.0 alpha and requestbuilder 0.1.0-alpha10 or older.
2. Use the euca-bundle-vol tool (which uses progressbar).
3. Attempt to resize the terminal window during tarball bundling.
An IOError exception was thrown because a system call was interrupted. Output is below:
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
tune2fs 1.42.3 (14-May-2012)
Syncing volume contents... done
euca-bundle-vol: error: Interrupted system call Exception in thread Thread-2: | 718.55 MB 35.40 MB/s ETA: Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 551, in __bootstrap_inner
File "/usr/lib64/python2.7/threading.py", line 504, in run
File "/usr/lib/python2.7/site-packages/euca2ools-3.0.0_alpha6-py2.7.egg/euca2ools/commands/bundle/bundle.py", line 187, in _add_fileobj_to_tarball
File "/usr/lib64/python2.7/tarfile.py", line 1776, in close
self.fileobj.write(NUL * (BLOCKSIZE * 2))
File "/usr/lib64/python2.7/tarfile.py", line 471, in write
File "/usr/lib64/python2.7/tarfile.py", line 479, in __write
IOError: [Errno 32] Broken pipe
Exception IOError: (32, 'Broken pipe') in <bound method _Stream.__del__ of <tarfile._Stream instance at 0x29673f8>> ignored
Bundling image 100% |======================| 10.00 GB 503.30 MB/s Time: 0:00:21
The window resize should have been handled correctly and the progress bar resized.
This is solved for the time being. I've committed a temporary fix to requestbuilder  until this fix is in EPEL. I have also filed an issue upstream .
The patch is for 2.2, does the problem still exist in 2.3?
Created attachment 753095 [details]
Patch based off 2.3 tarball (good)
This patch should resolve the issue. I must have attached the patch for the upstream repository instead of one against the 2.3 tarball. Yes, I'm experiencing the issue on version 2.3.
(In reply to Matt Spaulding from comment #2)
> Created attachment 753095 [details]
> Patch based off 2.3 tarball (good)
> This patch should resolve the issue. I must have attached the patch for the
> upstream repository instead of one against the 2.3 tarball. Yes, I'm
> experiencing the issue on version 2.3.
I have rebuild it and will update the packages next. You can check out the el6 version here: http://koji.fedoraproject.org/koji/taskinfo?taskID=5423639
python-progressbar-2.3-2.el6 has been submitted as an update for Fedora EPEL 6.
python-progressbar-2.3-2.fc18 has been submitted as an update for Fedora 18.
python-progressbar-2.3-2.fc19 has been submitted as an update for Fedora 19.
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing python-progressbar-2.3-2.el6'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
python-progressbar-2.3-2.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
python-progressbar-2.3-2.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
python-progressbar-2.3-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.