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 above: [root@mws root]# cat /proc/version Linux version 2.4.20-19.9 (bhcompile.redhat.com) (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 glibc-2.3.2-27.9 [root@mws root]# rpm -q rpm rpm-4.2-0.69 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): rpm-4.2-0.69 How reproducible: Always 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. Additional info:
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 filesystem.