Solved : Lock table is out of available locker entries – Yum install, yum upgrade

by Ashwin on June 29, 2010

Recently faced a issue while installing a package using yum

[root@back ~]# yum install mod-security
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 3077
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 ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 85, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 163, in getOptionsConfig
    disabled_plugins=self.optparser._splitArg(opts.disableplugins))
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 164, in _getConfig
    self._conf = config.readMainConfig(startupconf)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 685, in readMainConfig
    yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 752, in _getsysver
    idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed

Googling and Searching on this topic got it resolved

[root@back ~]# ll /var/lib/rpm/
Basenames       __db.000        __db.002        Dirnames        Group           Name            Providename     Pubkeys         Requireversion  Sigmd5
Conflictname    __db.001        __db.003        Filemd5s        Installtid      Packages        Provideversion  Requirename     Sha1header      Triggername
[root@back ~]# ll /var/lib/rpm/
Basenames       __db.000        __db.002        Dirnames        Group           Name            Providename     Pubkeys         Requireversion  Sigmd5
Conflictname    __db.001        __db.003        Filemd5s        Installtid      Packages        Provideversion  Requirename     Sha1header      Triggername
[root@back ~]# rm /var/lib/rpm/_db.00*
rm: cannot lstat `/var/lib/rpm/_db.00*': No such file or directory
[root@back ~]# rm /var/lib/rpm/__db.00*
rm: remove regular empty file `/var/lib/rpm/__db.000'? y
rm: remove regular file `/var/lib/rpm/__db.001'? y
rm: remove regular file `/var/lib/rpm/__db.002'? y
rm: remove regular file `/var/lib/rpm/__db.003'? y
[root@back ~]# rpm --rebuilddb
[root@back ~]# yum install mod-security
utterramblings            100% |=========================|  951 B    00:00
primary.xml.gz            100% |=========================|  22 kB    00:00
utterrambl: ################################################## 64/64
extras                    100% |=========================| 2.1 kB    00:00
primary.sqlite.bz2        100% |=========================| 184 kB    00:38
updates                   100% |=========================| 1.9 kB    00:00
primary.sqlite.bz2        100% |=========================| 254 kB    00:28
base                      100% |=========================| 2.1 kB    00:00
primary.sqlite.bz2        100% |=========================| 1.6 MB    00:17
c5-testing                100% |=========================| 1.9 kB    00:00
addons                    100% |=========================|  951 B    00:00
Setting up Install Process
Parsing package install arguments
No package mod-security available.
Nothing to do
[root@back ~]# yum install mod_security
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mod_security.i386 0:2.5.9-1.jason.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 mod_security            i386       2.5.9-1.jason.1  utterramblings    1.2 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)         

Total download size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): mod_security-2.5.9 100% |=========================| 1.2 MB    00:03
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 0d4306ef
Importing GPG key 0x0D4306EF "Jason Litka (http://www.jasonlitka.com) " from http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: mod_security                 ######################### [1/1] 

Installed: mod_security.i386 0:2.5.9-1.jason.1
Complete!

This problem occurs when rpm accesses the Berkeley database files, it makes temporary locker entries within the tables while it searches for data. If you control-c your rpm processes often, this issue will occur much sooner because the locks are never cleared.

      
Plugin by: PHP Freelancer

Related posts:

  1. How to Install Mod Security on Linux Centos 5.4, Fedora 11-12 ModSecurity is a free open source Firewall for Web application...
  2. Solved: PHP Fatal error: Call to undefined function json_encode(), How to Install JSON in PHP PHP 5.2 has included inbuilt json_encode() and json_decode() functions by...

Leave a Comment

Spam Protection by WP-SpamFree

Previous post:

Next post: