Red Hat Bugzilla – Bug 101062
rpm hangs in futex(0x405bd790, FUTEX_WAIT, 0, NULL...
Last modified: 2007-04-18 12:56:16 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003
Description of problem:
I just updated to 2.4.20-19 and can not use rpm; it hangs every single time I
run it. I don't know for sure if this is the dreaded NPTL issue or not, but
here are the relevent versions of software, including the rpm release mentioned
[root@mws root]# cat /proc/version
Linux version 2.4.20-19.9 (firstname.lastname@example.org) (gcc version
3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Tue Jul 15 17:18:13 EDT 2003
[root@mws root]# rpm -q glibc
[root@mws root]# rpm -q rpm
If I set LD_ASSUME_KERNEL=2.4.1 before running the command, the hang does not
occur, so it appears the NPTL may still buggy in the lastest kernel and glibc.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.rpm -<insert favorit options here>
Actual Results: rpm hangs and can not be killed with a CTRL-C; it must be
killed with kill -9
Expected Results: anything but a hang.
If you are doing "kill -9" then you must clean up
stale locks afterwards by doing
rm -f /var/lib/rpm/__db*
And, try "rpm -qa | less", exit early, watch stale lock left behind.
Then upgrade to rpm-4.2-1 from ftp://ftp.rpm.org/pub
That should have been ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x
Why would setting LD_ASSUME_KERNEL=1 cause rpm to run without hanging if stale
locfiles were the cause?
I meant LD_ASSUME_KERNEL=2.4.1
Because LD_ASSUME_KERNEL=2.4.1 uses the old libpthread implementation,
not NPTL. This changes the posix mutex implementation that is used by
Berkeley DB in rpm.
Excellent, thanks for the detail. That makes some sense, then.
Maybe we should add a GNOME dialog box to kill -9: "Warning: Killing
processes can cause system instability. Are you sure you want to do
this?" Also when you close a filehandle, since that can cause a SIGPIPE.
Or maybe we should stop putting futexes in files that exist on the