Description of problem: This is the bug log as prepared by the add/remove app: Component: pirut Summary: TBd2ec4f0a config.py:877:_getsysver:TypeError: rpmdb open failed Traceback (most recent call last): File "/usr/sbin/pup", line 617, in ? main() File "/usr/sbin/pup", line 609, in main pup = PackageUpdater(not options.autoapply, options.config) File "/usr/sbin/pup", line 84, in __init__ GraphicalYumBase.__init__(self, False, config) File "/usr/lib/python2.4/site-packages/pirut/__init__.py", line 137, in __init__ plugin_types=(yum.plugins.TYPE_CORE,)) File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 170, in doConfigSetup return self.conf File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 664, in <lambda> conf = property(fget=lambda self: self._getConfig(), File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 239, in _getConfig self._conf = config.readMainConfig(startupconf) File "/usr/lib/python2.4/site-packages/yum/config.py", line 804, in readMainConfig yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg) File "/usr/lib/python2.4/site-packages/yum/config.py", line 877, in _getsysver idx = ts.dbMatch('provides', distroverpkg) TypeError: rpmdb open failed Local variables in innermost frame: installroot: / ts: <rpmUtils.transaction.TransactionWrapper instance at 0x940476c> distroverpkg: redhat-release The bug maims the installation without remedy by crashing upgrade, add/remove, yum and yumex. It appears very early after installation, usually when you need several packages to install one, or when you do a list of updates. The above log appeared after installing the packages for using ntfs, and showed when, after installation, yumex tried to process the (long: the first general update was still pending) list of updates. Unless the team can find a manual way of installing a patch, even for testing any solution the installation will have to be made anew from scratch, you see that from the list of programs destroyed. A little angel, as you may understand. Version-Release number of selected component (if applicable): CentOS 5.4 final, kernel 2.6.18-164.el5PAE. How reproducible No way to install anything, and if you repeat the installation, it spoils it as soon as it can. Has done it five installations in a row, a full week work lost completely. Steps to Reproduce: 1. Ask you installation to install several programs or do a general update. 2. 3. Actual results: see above Expected results: see above Additional info: Better not to ask, as you can imagine. Will also file abug with the CentOS team asap.
idx = ts.dbMatch('provides', distroverpkg) TypeError: rpmdb open failed ...this usually means something is holding some kind of lock on the rpmdb, often it's a stale lock. I'd reboot and run: 1. rm -f /var/lib/rpm/__db* 2. rpm --rebuilddb. ...which should fix rpm.
Dear Mr. Alvill, Thank you very nuch for your advice. I have rebuilt the database as you suggested and my management system (updates, add/remove programs) is now up again, I'm asking myself whether database corruption for seemingly unfathomable reasons and that does not require any processing but erasing all extant databases indiscriminately and a no-detail rebuild should perhaps be directly managed by yum so as to spare users, specially newbies, such serious problems (I for one have been pushed to reinstalling CentOS once and again for one week) for so little to program. Could not that be tackled in, for example, the next yum update? Thanks again and best regards, fernando mansito
Component: pirut Summary: TBc0c9275d config.py:680:_getsysver:TypeError: rpmdb open failed Traceback (most recent call last): File "/usr/sbin/pirut", line 476, in <module> main() File "/usr/sbin/pirut", line 469, in main pm = PackageManager(options.config, options.onlyrepo) File "/usr/sbin/pirut", line 63, in __init__ GraphicalYumBase.__init__(self, False, config) File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 129, in __init__ plugin_types=(yum.plugins.TYPE_CORE,)) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 113, in doConfigSetup errorlevel=errorlevel) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 159, in _getConfig self._conf = config.readMainConfig(startupconf) File "/usr/lib/python2.5/site-packages/yum/config.py", line 613, in readMainConfig yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg) File "/usr/lib/python2.5/site-packages/yum/config.py", line 680, in _getsysver idx = ts.dbMatch('provides', distroverpkg) TypeError: rpmdb open failed Local variables in innermost frame: installroot: / ts: <rpmUtils.transaction.TransactionWrapper instance at 0x85c1f6c> distroverpkg: redhat-release
As before, the advice in comment #1 will often solve this problem. As an RFE to automatically fix it... This request was evaluated by Red Hat Engineering for inclusion in a Red Hat Enterprise Linux maintenance release. Red Hat does not currently plan to provide this change in a Red Hat Enterprise Linux update release for currently deployed products. With the goal of minimizing risk of change for deployed systems, and in response to customer and partner requirements, Red Hat takes a conservative approach when evaluating enhancements for inclusion in maintenance updates for currently deployed products. The primary objectives of update releases are to enable new hardware platform support and to resolve critical defects.