Red Hat Bugzilla – Bug 149659
rpm crash: unable to initialize mutex ; running as root
Last modified: 2007-11-30 17:11:00 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041228 Firefox/1.0 Fedora/1.0-8
Description of problem:
When I run as root, rpm bombs out and does nothing (see message below). When running as a normal user I can do normal queries of the database and see everything.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. rpm -qa
Actual Results: [root@ken ~]# rpm -qa
rpmdb: unable to initialize mutex: Function not implemented
rpmdb: /var/lib/rpm/__db.001: unable to initialize environment lock: Function not implemented
error: db4 error(38) from dbenv->open: Function not implemented
error: cannot open Packages index using db3 - Function not implemented (38)
error: cannot open Packages database in /var/lib/rpm
No further information printed.
Expected Results: list of all packages
I started with a FC3 system then did an upgrade to allow me to install xen. The upgrade was repeated a couple of times.
Build Date: Mon 14 Feb 2005 01:36:14 CET
I plan to rebuild the system from zero soon, so if you want to get more data
out, mail me quick please.
You appear to not have pthread support on your xen install system.
rpm expects functional pthread mutexes for locking. Xen
needs to provide an adequate environment to run rpm.
I am not running xen when this bug is generated. Even if I was, I
would be running RedHat's xen install, so it would still be a bug
(though possibly not your bug).
For whatever reason, you system is failing to initialize
a posix mutex. This needs to be addressed by you, not as
an rpm bug, which it is not.
okay, so the bug is quite simple; the libraries in /lib/tls were
missing. RPM or, possibly more likely rpmdb, is failing to open a
library that it needs.
Instead of noticing that it can't load the library, and issuing a
warning to the user, rpm is masking the failures (it has 40 separate
failures loading libraries from /lib/tls alone) and simply issuing the
Based on past discussions about whether RPM should issue clear error
messages etc. I'm setting this to WONTFIX
This is probably being caused by an
LD_ASSUME_KERNEL=2.2.5. I used to need
it for rpm for some reason I forget now.
Removing it fixes the problem with the
mutex and a whole bunch of other faults
in rpm. I hope this helps.