Bug 123298

Summary: yum does not recover gracefully after 'Connection reset by peer'
Product: [Fedora] Fedora Reporter: cam <camilo>
Component: yumAssignee: Jeff Johnson <jbj>
Status: CLOSED DEFERRED QA Contact:
Severity: low Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-06-10 02:13:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description cam 2004-05-16 11:12:23 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b)
Gecko/20040328

Description of problem:
When connected over a wireless link to an access point and ADSL
connection, the network sometimes gives 'Connection reset by peer'
errors. Yum does not recover gracefully from these:Getting
openoffice.org-i18n-1.1.1-4.i386.rpm
openoffice.org-i18n-1.1.1  56% |==============           |  34 MB   
09:04 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 1212, in download_packages
    checkfunc=(rpmUtils.checkRpmMD5, (), {'urlgraberror':1}))
  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 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: (104, 'Connection reset by peer')


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

How reproducible:
Sometimes

Steps to Reproduce:
Problem is difficult to reproduce as it is triggered by low level
network conditions. However on my network it is possible to reproduce
it through any yum operation that fetches lots of rpms.

Actual Results:  yum exits with a traceback

Expected Results:  yum should clean up and retry

Additional info:

A possible workaround is to do this:

while true ; do yum -y update; done

Although it is important to check when yum is no longer updating and
ctrl-C the shell.

Comment 1 Jeff Johnson 2004-06-10 02:13:26 UTC
Graceful recovery under all possible network outages is gonna
take a bit to achieve, hence deferred.

FWIW, I see this problem on my cable modem too, so I have a
private interest in getting the problem fixed. It will happen
eventually ;-)