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.
Does running: rm -f /var/spool/up2date/* fix the problem?
Thanks. Porblem corrected. Can you explain why this error occured?
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!
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!
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!
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.