Bug 143339 - up2date fails with IndexError
up2date fails with IndexError
Status: CLOSED CANTFIX
Product: Fedora
Classification: Fedora
Component: up2date (Show other bugs)
3
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Bret McMillan
Fanny Augustin
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-12-19 11:47 EST by keith drewke
Modified: 2007-11-30 17:10 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-10-29 10:11:57 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description keith drewke 2004-12-19 11:47:07 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.3)
Gecko/20040924

Description of problem:
up2date produces the following error:

up2date -u
http://fedora.redhat.com/download/up2date-mirrors/fedora-core-3
using mirror: http://ftp.esat.net/pub/linux/fedora/3/i386/os/
http://fedora.redhat.com/download/up2date-mirrors/updates-released-fc3
using mirror: http://ftp.uni-koeln.de/fedora/updates/3/i386/
 
Fetching Obsoletes list for channel: fedora-core-3...
 
Fetching obsoletes list for
http://ftp.esat.net/pub/linux/fedora/3/i386/os/...
 
Fetching
http://ftp.esat.net/pub/linux/fedora/3/i386/os//headers/header.info...
########################################
Traceback (most recent call last):
  File "/usr/sbin/up2date", line 1248, in ?
    sys.exit(main() or 0)
  File "/usr/sbin/up2date", line 803, in main
    fullUpdate, dryRun=options.dry_run))
  File "/usr/sbin/up2date", line 1122, in batchRun
    batch.run()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 62, in run
    self.__findPackagesToUpdate()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 101, in
__findPackagesToUpdate
    plist.run()
  File "/usr/share/rhn/up2date_client/packageList.py", line 128, in run
    progressCallback = self.progressCallback )
  File "/usr/share/rhn/up2date_client/rhnPackageInfo.py", line 404, in
obsoletesList
    progressCallback = progressCallback )
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 310, in doCall
    ret = apply(method, args, kwargs)
  File "/usr/share/rhn/up2date_client/repoDirector.py", line 27, in
getObsoletes
    return self.handlers[channel['type']].getObsoletes(channel,
msgCallback, progressCallback)
  File "/usr/share/rhn/up2date_client/rpmSource.py", line 249, in
getObsoletes
    msgCallback, progressCallback)
  File "/usr/share/rhn/up2date_client/repoBackends/yumRepo.py", line
318, in getObsoletes
    baseFileName = "%s-%s-%s.%s.hdr" % (pkg[0], pkg[1], pkg[2], pkg[4])
IndexError: list index out of range


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


How reproducible:
Always

Steps to Reproduce:
1. execute up2date -u
2.
3.
    

Actual Results:  up2date failed

Expected Results:  system to be updated.

Additional info:

System was RH 8 upgraded to FC3.

I have updated the selinux files to:

system-config-securitylevel-1.4.18-2.i386.rpm
system-config-securitylevel-tui-1.4.18-2.i386.rpm
libselinux-1.19.1-8.i386.rpm 

and upgraded libselinux to:

libselinux-1.19.3-1.i386.rpm

However, experienced the same results.
Comment 1 Ray Van Dolson 2005-02-25 00:02:52 EST
Does running:

rm -f /var/spool/up2date/* 

fix the problem?
Comment 2 keith drewke 2005-02-26 08:51:44 EST
Thanks.  Porblem corrected.  Can you explain why this error occured?
Comment 3 Jos Vos 2005-05-04 13:22:59 EDT
This problems also occurs on RHEL4 up2date 4.4.5(.6) using yum repositories (I
know yum is not supported for RHEL4, but it seems to be the same problem).  This
is how to reproduce it (on a fully updated system):

rm -f /var/spool/up2date/*
up2date --whatprovides=/bin/bash
up2date

And *now* update fails with the earlier mentioned stack trace.  If you do the
two up2date commands in the *reverse* order (also based on an empty spool dir),
so first the normal up2date and then the --whatprovides version, everything
works fine!
Comment 4 Jos Vos 2005-05-04 15:12:47 EDT
After two hours of debugging and tracing, I think I found the error: in the file
yumRepo.py, in function getObsoletes(), the line

  pkgList = rd.listPackages(channel, msgCallback, progressCallback)

should read:

  pkgList = rd.listPackages(channel, msgCallback, progressCallback)[0]

Will do some further checking, but my problem is gone.  In my case, the index
problem only occurred with an empty repository, but for non-empty repositories,
the pkgList was in case of a non-empty spooldir *not* the list of packages the
for-loop expects, so that behavior was wrong anyway!
Comment 5 Matthew Miller 2006-07-10 19:17:24 EDT
Fedora Core 3 is now maintained by the Fedora Legacy project for security
updates only. If this problem is a security issue, please reopen and
reassign to the Fedora Legacy product. If it is not a security issue and
hasn't been resolved in the current FC5 updates or in the FC6 test
release, reopen and change the version to match.

Thank you!
Comment 6 John Thacker 2006-10-29 10:11:57 EST
Closing per lack of response to previous comment.  If this still occurs on FC3
or FC4 and is a security issue, please assign to Fedora Legacy and the
appropriate version.  The bug could also be filed against RHEL if it is relevant
there.

up2date has been replaced by pirut and pup in FC5 and FC6, the still fully
supported versions of Fedora Core, so this bug will not be fixed unless it is a
security issue.

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