rpm 4.2.1-0.30 sleeps in futex system call

Mike Snitzer msnitzer at lnxi.com
Mon Nov 10 22:52:28 UTC 2003


In attempting to import the Fedora GPG key with rpm 4.2.1-0.30 (from beta2
of FC) to upgrade to FC1; rpm goes to sleep in the futex system call.

...
open("/var/lib/rpm/Packages", O_RDWR|O_LARGEFILE) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=31690752, ...}) = 0
futex(0x406d0280, FUTEX_WAIT, 0, NULL <unfinished ...>

I am running 2.6.0-test9-mm1 and all has worked fine up until now; if I
attempt to shove the GPG key in there with:

LD_ASSUME_KERNEL=2.2.4 rpm --import fedora.RPM-GPG-KEY.txt

I get:
rpm: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory

so _really_ old pthreads libs (non-tls) don't offer librt.so (or a
compatibility symlink is missing?); but this did the trick: 
LD_ASSUME_KERNEL=2.4.1 rpm --import fedora.RPM-GPG-KEY.txt

In any case, why might the futex system call get reliably wedged during an
rpm --import given that I'm using an nptl, futex, tls, enabled kernel?   

Might an internal rpm lock be held?

thanks,
Mike






More information about the devel mailing list