On Jan 4, 2007, at 7:09 PM, Morgan Read wrote:
Hi Folks
I have a problem with rpmdb. "rpm -v --rebuilddb" hangs with:
"warning: waiting for transaction lock on /var/lib/rpm/__db.000"
Doing "rm -f /var/lib/rpm/__db.000" will fix this problem.
The file /var/lib/rpm/__db.000 is zero in size:
[morgan@morgansmachine ~]$ stat /var/lib/rpm/__db.000
File: `/var/lib/rpm/__db.000'
Size: 0 Blocks: 8 IO Block: 4096 regular
empty file
Device: fd00h/64768d Inode: 1009003 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/
root)
Access: 2007-01-02 10:45:00.000000000 +1300
Modify: 2006-12-30 23:07:08.000000000 +1300
Change: 2006-12-30 23:07:08.000000000 +1300
[morgan@morgansmachine ~]$
Can I replace "__db.000" with any of the other files (__db.001,
__db.001, ..., etc)?
Nope.
Is there a lock file somewhere I can delete?
Aside from __db.000, nope. There are other Berkely DB locks involved
too.
Yum update hangs with:
"rpmdb: lock_downgrade: Lock is no longer valid"
This is a Berkeley DB error msg.
Doing "rm -f /var/lib/rpm/__db*" will get rid of all the locks (but not
underlying futexes).
Your reboot should have done "rm -f /var/lib/rpm/__db*".
FWIW, doing
cd /var/lib/rpm
/usr/lib/rpm/rpmdb_stat -Cl
displays all Berkeley DB locks.
History:
- I used yumex to remove a package (yum-fedorakmod), and it hung with
python at 100% cpu (more or less).
- I couldn't kill python, so rebooted.
- I used yum to remove the package, it was already removed
- I ran "yum update", it hung (as above)
- I ran "yum clean all"; it failed with "TypeError: rpmdb open failed"
- I ran "rpm -v --rebuilddb"; it hung
Yep.
Any help on how to fix would be very much appreciated. I'm just
leaving
everything running until I sort this as I figure things might be a
little unstable. Below, is output of the rebuiilddb, update and clean
commands.
Yep "unstable".
There's a number of issues that need fixing, the most important
seems to be a bug in mmap in recent 2.6.18 (and later) kernels.
73 de Jeff
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list