Bug 243186

Summary: yum update fails with yum-updatesd
Product: [Fedora] Fedora Reporter: Jason Farrell <farrellj>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: low    
Version: 7CC: dbaron, edwinh, mark, rustysawdust, sdodson
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-13 18:21:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jason Farrell 2007-06-07 19:02:31 UTC
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

Comment 1 Jason Farrell 2007-06-09 23:31:33 UTC
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.

Comment 2 Scott Dodson 2007-06-15 04:37:48 UTC
This is happening to me quite frequently. yum-updatesd is not running. 

Comment 3 Jason Farrell 2007-06-19 17:47:46 UTC
sdodson,
FYI - temporarily disabling the /etc/cron.daily/rpm cronjob had no effect. the
rpmdb still gets screwed, at seemingly random intervals.
-zcat

Comment 4 Jeff 2007-07-25 05:44:44 UTC
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.

Comment 5 Seth Vidal 2007-08-03 19:56:36 UTC
Give a try to using yum-updatesd with yum-updatesd from rawhide. Let's see if it
helps.

Comment 6 Paul Johnson 2007-08-15 17:53:43 UTC
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!

Comment 7 Jeremy Katz 2007-09-13 18:21:43 UTC
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 ***