Bug 119756 - Yum pukes on Interrupt
Summary: Yum pukes on Interrupt
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-04-02 00:19 UTC by Scott Sloan
Modified: 2014-01-21 22:49 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-11-01 19:36:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Scott Sloan 2004-04-02 00:19:26 UTC
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-16 03:45:23 UTC
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-16 03:52:10 UTC
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 19:36:49 UTC
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.