Bug 119756 - Yum pukes on Interrupt
Yum pukes on Interrupt
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: yum (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jeremy Katz
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-04-01 19:19 EST by Scott Sloan
Modified: 2014-01-21 17:49 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-11-01 14:36:49 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Scott Sloan 2004-04-01 19:19:26 EST
Description of problem:

gnome-desktop-2.6.0.1-1.i  18% |====                     | 120 kB   
00:28 ETA Traceback (most recent call last):
  File "/usr/bin/yum", line 30, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum/yummain.py", line 339, in main
    clientStuff.download_packages(tsInfo)
  File "/usr/share/yum/clientStuff.py", line 1203, in download_packages
    checkfunc=(rpmUtils.checkRpmMD5, (), {'urlgraberror':1}))
  File "/usr/share/yum/clientStuff.py", line 1336, in grab
    bandwidth, conf.retries, retrycodes, checkfunc)
  File "/usr/share/yum/urlgrabber.py", line 237, in retrygrab
    progress_obj, throttle, bandwidth)
  File "/usr/share/yum/urlgrabber.py", line 343, in urlgrab
    _do_grab(filename, fo, progress_obj, raw_throttle)
  File "/usr/share/yum/urlgrabber.py", line 387, in _do_grab
    block = fo.read(bs)
  File "/usr/share/yum/keepalive.py", line 235, in read
    s = self._rbuf + self._raw_read(amt)
  File "/usr/lib/python2.3/httplib.py", line 409, in read
    s = self.fp.read(amt)
  File "/usr/lib/python2.3/socket.py", line 301, in read
    data = self._sock.recv(recv_size)
socket.error: (4, 'Interrupted system call')


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

yum-2.0.6-1

How reproducible:

Every time

Steps to Reproduce:
1. do a yum install <package name> or yum update
2. Ctrl+C during download phase
  
Actual results:

Spews 

Expected results:

Simple: "Process was terminiated by..."

Additional info:
Comment 1 Sean Earp 2004-04-15 23:45:23 EDT
Using yum-2.0.7-0.20040403, I am able to Ctrl+C while it is running,
and it now exits gracefully with the message "Exiting on User Cancel"
(see below)


[root@localhost smearp]# yum update
Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora.us Extras (Stable)
Server: Fedora.us Extras (Testing)
Server: Fedora.us Extras (Unstable)
Server: Livna.org - Fedora Compatible Packages (stable)
Exiting on User Cancel

Note: bugzilla will not let me close this bug, but Jeff or Seth should
be able to close it as CURRENTVERSION
Comment 2 Sean Earp 2004-04-15 23:52:10 EDT
Alright... I wasn't waiting long enough.  Yum exits gracefully if you
Ctrl+C at the beginning of the process.  However, the current version
still chokes if you cancel while it is downloading headers or a package:

kernel-module-alsa-2.4.22 100% |=========================| 7.6 kB    00:00
openal-test-0-0.0-0.fdr.0   0% |                         |    0 B   
--:-- ETA Traceback (most recent call last):
  File "/usr/bin/yum", line 30, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum/yummain.py", line 253, in main
    clientStuff.download_headers(HeaderInfo, nulist)
  File "/usr/share/yum/clientStuff.py", line 993, in download_headers
    checkfunc=(rpmUtils.checkheader, (n, a), {}))
  File "/usr/share/yum/clientStuff.py", line 1327, in grab
    bandwidth, conf.retries, retrycodes, checkfunc)
  File "/usr/share/yum/urlgrabber.py", line 237, in retrygrab
    progress_obj, throttle, bandwidth)
  File "/usr/share/yum/urlgrabber.py", line 343, in urlgrab
    _do_grab(filename, fo, progress_obj, raw_throttle)
  File "/usr/share/yum/urlgrabber.py", line 376, in _do_grab
    block = fo.read(bs)
  File "/usr/share/yum/keepalive.py", line 235, in read
    s = self._rbuf + self._raw_read(amt)
  File "/usr/lib/python2.3/httplib.py", line 409, in read
    s = self.fp.read(amt)
  File "/usr/lib/python2.3/socket.py", line 301, in read
    data = self._sock.recv(recv_size)
socket.error: (4, 'Interrupted system call')
Comment 3 Seth Vidal 2004-11-01 14:36:49 EST
This should no longer be the case on fc3tests and rawhide.


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