Bug 110062

Summary: rpm fails if running as root after glibc update on non standard kernels
Product: [Retired] Red Hat Linux Reporter: Péter, Soós <sp>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED NOTABUG QA Contact: Mike McLean <mikem>
Severity: high Docs Contact:
Priority: high    
Version: 9   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-11-21 22:40:46 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 Péter, Soós 2003-11-14 16:30:18 UTC
From Bugzilla Helper:
User-Agent: Opera/7.22 (X11; Linux i686; U)  [en]

Description of problem:
rpm fails if running as root after glibc update from errata on non 
standard kernels (e.g. 2.6 or 2.4 nptl kernels from rawhide):
$ rpm -q glibc
glibc-2.3.2-27.9.7
$ rpm -q rpm
rpm-4.2-0.69
$ uname -r
2.4.22-1.2108.nptl
$ su -
Password:
# rpm -q rpm
rpmdb: unable to join the environment
error: db4 error(11) from dbenv->open: Resource temporarily 
unavailable
error: cannot open Packages index using db3 - Resource temporarily 
unavailable (11)
error: cannot open Packages database in /var/lib/rpm
package rpm is not installed



Version-Release number of selected component (if applicable):
rpm-4.2-0.69

How reproducible:
Always

Steps to Reproduce:
1. Update your glibc to the latest errata package (glibc-2.3.2-27.9.
7)
2. Boot with 2.6 or an 2.4 ntpl kernel
3. Try to use rpm as root
    

Actual Results:  # rpm -q rpm
rpmdb: unable to join the environment
error: db4 error(11) from dbenv->open: Resource temporarily 
unavailable
error: cannot open Packages index using db3 - Resource temporarily 
unavailable (11)
error: cannot open Packages database in /var/lib/rpm
package rpm is not installed


Expected Results:  # rpm -q rpm
rpm-4.2-0.69

Additional info:

Comment 1 Rich Graves 2003-11-17 15:21:08 UTC
I'm sure we'd all appreciate it if someone could go back and find
other duplicates of this bug report and indicate it was fixed late on
the 13th...

The glibc errata page at

https://rhn.redhat.com/errata/RHSA-2003-325.html

has been updated with the note "[Update 2003-11-13]: The packages for
Red Hat Linux 9 have been updated for compatibility with kernels not
provided by Red Hat."

So the fix is to export LD_ASSUME_KERNEL=2.2.5 && rpm -Uvh
glibc-2.3.2-27.9.7.i686.rpm (and also glibc-common and glibc-debug out
of i386 if installed).

At that point you ought to be able to run rpm again as root without
that environment variable set.

Comment 2 Moritz Baumann 2003-11-19 20:55:33 UTC
LD_ASSUME_KERNEL=2.2.5 did the trick for me on with an non redhat-kernel

Comment 3 Moritz Baumann 2003-11-19 21:02:18 UTC
I was using a vanilla 2.2.22 with ac1 mppe and newnat+h323 not a
rawhide kernel. But still this made rpm -Uhv glibc-* work


Comment 4 Péter, Soós 2003-11-20 07:27:35 UTC
> So the fix is to export LD_ASSUME_KERNEL=2.2.5 && rpm -Uvh
> glibc-2.3.2-27.9.7.i686.rpm (and also glibc-common and glibc-debug
> out of i386 if installed).

> At that point you ought to be able to run rpm again as root without
> that environment variable set.

Unfortunately I have to set LD_ASSUME_KERNEL=2.2.5 every time to make 
rpm work as root.

Comment 5 Jeff Johnson 2003-11-21 22:40:46 UTC
Use rpm-4.1.1 from ftp://ftp.rpm.org/pub/rpm/dist-4.1.z. That
is compiled w/o NPTL locks.

Or try
    rm -f /var/lib/rpm/__db*
I suspect that works too.