Bug 116658 - Poor error detection and management in up2date.
Summary: Poor error detection and management in up2date.
Keywords:
Status: CLOSED DUPLICATE of bug 119568
Alias: None
Product: Fedora
Classification: Fedora
Component: up2date
Version: 1
Hardware: athlon
OS: Linux
medium
high
Target Milestone: ---
Assignee: Adrian Likins
QA Contact: Fanny Augustin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-02-24 08:49 UTC by Ivo Sarak
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-02-21 19:01:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ivo Sarak 2004-02-24 08:49:21 UTC
Description of problem:
I very rarely success to run up2date without it being stuck and
needing to ne terminated forcefully. The up2date does need better
error management.

Version-Release number of selected component (if applicable):
Take one and throw to another, but currently up2date-4.3.11-2.1

How reproducible:
99% of times.

Steps to Reproduce:
1. run up2date;
2. try to download any package with it;
  
Actual results:

First time on random package (this time kdebase):

[root@sarmax root]# up2date
http://fedora.redhat.com/download/up2date-mirrors/fedora-core-rawhide
using mirror:
http://ftp.dulug.duke.edu/pub/fedora/linux/core/development/i386/
Traceback (most recent call last):
  File "/usr/share/rhn/up2date_client/gui.py", line 1671, in
onPackagePageNext
    ret = self.__packagePageDryRun()
  File "/usr/share/rhn/up2date_client/gui.py", line 1599, in
__packagePageDryRun
    self.__refreshCallback)
  File "/usr/share/rhn/up2date_client/up2date.py", line 384, in dryRun
    depsolve.setup()
  File "/usr/share/rhn/up2date_client/depSolver.py", line 357, in setup
    self.__add(pkgset, check = 0)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 390, in __add
    hdr = headerList[p]
  File "/usr/share/rhn/up2date_client/headers.py", line 37, in __getitem__
    self.__retrievePackage(item)
  File "/usr/share/rhn/up2date_client/headers.py", line 42, in
__retrievePackage
    hdr, sourceType = rpcServer.doCall(self.repos.getHeader, item)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 112, in doCall
    ret = apply(method, args, kwargs)
  File "/usr/share/rhn/up2date_client/repoDirector.py", line 31, in
getHeader
    return self.handlers[channel['type']].getHeader(pkg, msgCallback,
progressCallback)
  File "/usr/share/rhn/up2date_client/rpmSource.py", line 210, in
getHeader
    header = source.getHeader(pkg, progressCallback = progressCallback)
  File "/usr/share/rhn/up2date_client/repoBackends/yumRepo.py", line
93, in
getHeader
    hdrBuf = fh.read()
  File "/usr/lib/python2.2/gzip.py", line 156, in read
    self._read(readsize)
  File "/usr/lib/python2.2/gzip.py", line 198, in _read
    self._read_gzip_header()
  File "/usr/lib/python2.2/gzip.py", line 110, in _read_gzip_header
    raise IOError, 'Not a gzipped file'
IOError: Not a gzipped file

and up2date does nothing more.


Second try on the same package:
[root@sarmax root]# up2date
http://fedora.redhat.com/download/up2date-mirrors/fedora-core-rawhide
using mirror:
http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/development/i386/
Traceback (most recent call last):
  File "/usr/share/rhn/up2date_client/gui.py", line 1671, in
onPackagePageNext
    ret = self.__packagePageDryRun()
  File "/usr/share/rhn/up2date_client/gui.py", line 1599, in
__packagePageDryRun
    self.__refreshCallback)
  File "/usr/share/rhn/up2date_client/up2date.py", line 387, in dryRun
    ret = depsolve.solvedep()
  File "/usr/share/rhn/up2date_client/depSolver.py", line 716, in solvedep
    ret = self.process_deps(deps)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 683, in
process_deps
    changed = self.__dependencies(dependencies)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 475, in
__dependencies
    refreshCallback = self.refreshCallback)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 93, in solveDep
    ret = source.solveDep(unknowns, availList, refreshCallback)
  File
"/usr/share/rhn/up2date_client/repoBackends/genericSolveDep.py", line
40, in solveDep
    self.getSolutions(unknowns)
  File
"/usr/share/rhn/up2date_client/repoBackends/genericSolveDep.py", line
235, in getSolutions
    hdr = self.getHeader(pkg)
  File
"/usr/share/rhn/up2date_client/repoBackends/genericSolveDep.py", line
217, in getHeader
    progressCallback = progressCallback)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 112, in doCall
    ret = apply(method, args, kwargs)
  File "/usr/share/rhn/up2date_client/repoDirector.py", line 31, in
getHeader
    return self.handlers[channel['type']].getHeader(pkg, msgCallback,
progressCallback)
  File "/usr/share/rhn/up2date_client/rpmSource.py", line 210, in
getHeader
    header = source.getHeader(pkg, progressCallback = progressCallback)
  File "/usr/share/rhn/up2date_client/repoBackends/yumRepo.py", line
87, in getHeader
    (fn, h) = urllib.urlretrieve(url)
  File "/usr/lib/python2.2/urllib.py", line 80, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "/usr/lib/python2.2/urllib.py", line 210, in retrieve
    fp = self.open(url, data)
  File "/usr/lib/python2.2/urllib.py", line 178, in open
    return getattr(self, name)(url)
  File "/usr/lib/python2.2/urllib.py", line 295, in open_http
    errcode, errmsg, headers = h.getreply()
  File "/usr/lib/python2.2/httplib.py", line 1009, in getreply
    response = self._conn.getresponse()
  File "/usr/lib/python2.2/httplib.py", line 760, in getresponse
    response.begin()
  File "/usr/lib/python2.2/httplib.py", line 269, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.2/httplib.py", line 231, in _read_status
    line = self.fp.readline()
IOError: [Errno 104] Connection reset by peer

and up2date does nothing more.

Expected results:

If there is network error or headers are buggy or ... then up2date
should be able to detect it and state it clearly to the user.

Additional info:

Comment 1 Adrian Likins 2004-04-07 21:04:13 UTC

*** This bug has been marked as a duplicate of 119568 ***

Comment 2 Red Hat Bugzilla 2006-02-21 19:01:36 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.


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