Red Hat Bugzilla – Bug 595063
Exception during yum upgrade, due to corrupt rpmdb-indexes (akmods)
Last modified: 2014-01-21 18:15:00 EST
Description of problem:
Exception while upgrading
Version-Release number of selected component (if applicable):
Try 'yum upgrade'
Steps to Reproduce:
yum upgrade should upgrade
$ sudo yum upgrade
[sudo] password for filip:
/usr/lib/yum-plugins/fedorakmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set
Loaded plugins: dellsysidplugin, dellsysidplugin2, fastestmirror, fedorakmod, kernel-module, refresh-
: packagekit, refresh-updatesd
Loading mirror speeds from cached hostfile
* fedora: mirror.lib.ucdavis.edu
* fusion: www.lordmorgul.net
* livna: rpm.livna.org
* rpmfusion-free: mirrors.cat.pdx.edu
* rpmfusion-free-updates: mirrors.cat.pdx.edu
* rpmfusion-nonfree: mirrors.cat.pdx.edu
* rpmfusion-nonfree-updates: mirrors.cat.pdx.edu
* updates: mirror.lib.ucdavis.edu
Setting up Upgrade Process
--> Running transaction check
---> Package dhclient.i686 12:4.1.1-16.fc12 set to be updated
---> Package dhcp.i686 12:4.1.1-16.fc12 set to be updated
---> Package google-chrome-beta.i386 0:5.0.375.55-47796 set to be updated
---> Package groff.i686 0:184.108.40.206-21.fc12 set to be updated
---> Package groff-perl.i686 0:220.127.116.11-21.fc12 set to be updated
---> Package guake.i686 0:0.4.1-3.fc12 set to be updated
---> Package initscripts.i686 0:9.02.2-1 set to be updated
---> Package krb5-devel.i686 0:1.7.1-9.fc12 set to be updated
---> Package krb5-libs.i686 0:1.7.1-9.fc12 set to be updated
---> Package krb5-workstation.i686 0:1.7.1-9.fc12 set to be updated
---> Package logwatch.noarch 0:7.3.6-51.fc12 set to be updated
---> Package ppp.i686 0:2.4.5-8.fc12 set to be updated
---> Package stunnel.i686 0:4.33-1.fc12 set to be updated
---> Package system-setup-keyboard.i686 0:0.7-3.fc12 set to be updated
---> Package tar.i686 2:1.22-13.fc12 set to be updated
---> Package yp-tools.i686 0:2.9-9.fc12 set to be updated
---> Package ypbind.i686 3:1.20.4-23.fc12 set to be updated
--> Finished Dependency Resolution
google-chrome-beta i386 5.0.375.55-47796 google 22 M
groff i686 18.104.22.168-21.fc12 updates 1.5 M
groff-perl i686 22.214.171.124-21.fc12 updates 23 k
guake i686 0.4.1-3.fc12 updates 135 k
initscripts i686 9.02.2-1 updates 931 k
krb5-devel i686 1.7.1-9.fc12 updates 1.1 M
krb5-libs i686 1.7.1-9.fc12 updates 656 k
krb5-workstation i686 1.7.1-9.fc12 updates 448 k
logwatch noarch 7.3.6-51.fc12 updates 300 k
ppp i686 2.4.5-8.fc12 updates 325 k
stunnel i686 4.33-1.fc12 updates 123 k
system-setup-keyboard i686 0.7-3.fc12 updates 12 k
tar i686 2:1.22-13.fc12 updates 744 k
yp-tools i686 2.9-9.fc12 updates 63 k
ypbind i686 3:1.20.4-23.fc12 updates 43 k
Install 0 Package(s)
Upgrade 17 Package(s)
Total size: 29 M
Is this ok [y/N]: y^[[A
Is this ok [y/N]: y
Running Transaction Test
Transaction Test Succeeded
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
File "/usr/share/yum-cli/yummain.py", line 254, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 192, in main
return_code = base.doTransaction()
File "/usr/share/yum-cli/cli.py", line 496, in doTransaction
resultobject = self.runTransaction(cb=cb)
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1182, in runTransaction
File "/usr/lib/python2.6/site-packages/yum/transactioninfo.py", line 580, in futureRpmDBVersion
File "/usr/lib/python2.6/site-packages/yum/rpmsack.py", line 749, in preloadPackageChecksums
pkg = self.searchNevra(n, e, v, r, a)
IndexError: list index out of range
$ rpm -qa | grep yum
Can you run:
tar -cvf rpmdb-cache1.tar /var/cache/yum/i386/12/installed
sudo rm /var/cache/yum/i386/12/installed/version
sudo yum upgrade
tar -cvf rpmdb-cache2.tar /var/cache/yum/i386/12/installed
...and upload both tarfiles and the output from the stat? If the yum upgrade doesn't work, then also let us know but "yum clean rpmdb" will make it work.
$ stat /var/lib/rpm/Packages
Size: 191578112 Blocks: 374512 IO Block: 4096 normaal bestand
Device: 803h/2051d Inode: 55640074 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-05-23 01:32:00.000000000 -0700
Modify: 2010-05-19 05:04:34.000000000 -0700
Change: 2010-05-19 05:04:34.000000000 -0700
Created attachment 416024 [details]
Created attachment 416025 [details]
So packages is:
Modify: 2010-05-19 05:04:34.000000000 -0700
..and installed/version was:
Modify: 2010-05-19 08:04:58.000000000 -0400
...and the difference is that:
1. dhclient/dhcp updated release/checksum.
2. google-chrome-beta updated release/checksum.
3. groff/groff-perl updated release/checksum.
4. guake updated release/checksum.
5. initscripts updated release/checksum.
6. kmod-nvidia-126.96.36.199-99.fc12.i686 was removed (but the rpmdb version package count stays the same).
7. krb5-devel/krb5-libs/krb5-workstation updated release/checksum.
8. logwatch updated release/checksum.
9. ppp updated release/checksum.
10. stunnel updated release/checksum.
11. system-setup-keyboard updated release/checksum.
12. tar updated release/checksum.
13. yp-tools/ypbind updated release/checksum.
...so removing the things in the update above ... that leaves dhclient/dhcp and kmod as the only changes.
I notice you have the kmod and kernel plugins from fc10 ... I wonder if they are doing something.
Looking in yumdb-package-checksums I see you have "akmods" installed, looking through what that does this is very likely what is causing the problem.
The defensive fixes we've put in upstream yum should fix it ... but it might be better to keep the rpm locked or something.
*** Bug 591382 has been marked as a duplicate of this bug. ***
*** Bug 597853 has been marked as a duplicate of this bug. ***
I'm getting this error on Fedora 13, no third-party repository packages involved at all. The only "strange" thing I did was:
yum --enablerepo=rawhide install kernel
< ... later ...>
rpm -e <kernel-version-from-rawhide>
Can you add information here about what would be useful for debugging what is going on here, or how to recover from this problem?
Moving the contents of /var/cache/yum/ aside worked around the problem.
I managed to accidentally duplicate this problem by rsync'ing /var/cache/yum from one installation of F12 to another. My guess is the RPM database was copied in addition to the 'packages' subfolders. Moving the rsync'd copy away and rebuilding the cache fixed the issue. whoops. carry on..
bug 593654 appears to be related.
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '12'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 12's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 12 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.