Description of problem: manual yum updates from terminal will eventually fail if yum-updatesd is also running. Stopping yum-updatesd and then nuking /var/lib/rpm/__db.00* works around it. Version-Release number of selected component (if applicable): yum-3.2.0-1.fc7 How reproducible: has happened twice now, after an extended uptime Steps to Reproduce: 1. make sure yum-updatesd is running (it is by default) 2. do all your yum updates from the terminal for a few days 3. goto 2 until failure Actual results: yum fails with rpmdb errors. Expected results: Additional info: [root@nano ~]# yum --enable updates-testing --enable livna-testing --changelog update Loading "fastestmirror" plugin Loading "changelog" plugin Loading "installonlyn" plugin rpmdb: Lock table is out of available locker entries rpmdb: Unknown locker ID: 98c error: db4 error(22) from db->close: Invalid argument error: cannot open Packages index using db3 - Cannot allocate memory (12) error: cannot open Packages database in /var/lib/rpm Traceback (most recent call last): File "/usr/bin/yum", line 29, in <module> yummain.main(sys.argv[1:]) File "/usr/share/yum-cli/yummain.py", line 82, in main base.getOptionsConfig(args) File "/usr/share/yum-cli/cli.py", line 146, in getOptionsConfig errorlevel=opts.errorlevel) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 153, in _getConfig self._conf = config.readMainConfig(startupconf) File "/usr/lib/python2.5/site-packages/yum/config.py", line 601, in readMainConfig yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg) File "/usr/lib/python2.5/site-packages/yum/config.py", line 664, in _getsysver idx = ts.dbMatch('provides', distroverpkg) TypeError: rpmdb open failed [root@nano ~]# ps axu|grep updat root 3811 0.0 3.0 104808 62688 ? SN Jun06 0:31 /usr/bin/python /usr/sbin/yum-updatesd root 20719 0.0 0.0 4008 696 pts/1 R+ 14:35 0:00 grep updat [root@nano ~]# /etc/init.d/yum-updatesd stop Stopping yum-updatesd: [ OK ] [root@nano ~]# rm /var/lib/rpm/__db.00 __db.000 __db.001 __db.002 __db.003 [root@nano ~]# rm /var/lib/rpm/__db.00* rm: remove regular empty file `/var/lib/rpm/__db.000'? [root@nano ~]# unalias rm [root@nano ~]# rm /var/lib/rpm/__db.00* [root@nano ~]# yum --enable updates-testing --enable livna-testing --changelog update Loading "fastestmirror" plugin Loading "changelog" plugin Loading "installonlyn" plugin Loading mirror speeds from cached hostfile Loading mirror speeds from cached hostfile updates-testing 100% |=========================| 1.9 kB 00:00 livna-testing 100% |=========================| 951 B 00:00 Setting up Update Process No Packages marked for Update/Obsoletion
Note that it happened again with yum-updatesd *disabled*, ~4 hours of uptime, and after only a few manual yum updates. The previous yum update successfully updated 8 packages only a few minutes before.
This is happening to me quite frequently. yum-updatesd is not running.
sdodson, FYI - temporarily disabling the /etc/cron.daily/rpm cronjob had no effect. the rpmdb still gets screwed, at seemingly random intervals. -zcat
I have this problem as well, although all I have to do is "service yum-updatesd stop", I don't have to delete the DB.
Give a try to using yum-updatesd with yum-updatesd from rawhide. Let's see if it helps.
I'm running yum-updatesd from rawhide and it does not update anything. I can turn the service off and run yum manually. I set the yum-updatesd.conf file to do automatic updates, but nothing happens. [main] # how often to check for new updates (in seconds) run_interval = 3600 # how often to allow checking on request (in seconds) updaterefresh = 600 # how to send notifications (valid: dbus, email, syslog) emit_via = syslog # automatically install updates do_update = yes # automatically download updates do_download = yes # automatically download deps of updates do_download_deps = yes ======================================= Except for sitting down at every machine every day and killing updatesd and running yum, I can't see any way around this. Very inadequate!
Paul -- can you file your thing separately against yum-updatesd, version devel. For the other bits here, see my comments in bug 243011 *** This bug has been marked as a duplicate of 243011 ***