Description of problem: When rpm is run on redhat 9.0 on linux-2.5.x as root, it hangs, and select() times out. The problem is related to O_DIRECT, apparently. Here's output from the command: [root@www root]# rpm -qi iptables 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 iptables is not installed [root@www root]# Version-Release number of selected component (if applicable): db4-devel-4.0.14-20 db4-4.0.14-20 rpm-build-4.2-0.69 db4-utils-4.0.14-20 rpm-devel-4.2-0.69 rpm-4.2-0.69 How reproducible: use rpm as root under linux-2.5.x on redhat 9.0 Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 91658 [details] "strace -f -s2048" of the failure case
Created attachment 91659 [details] "strace -f -s2048" of the success case as normal user
Oh, forgot to mention... The following command allows execution of rpm as root, as it makes it ignore O_DIRECT.. LD_ASSUME_KERNEL=2.2.5 rpm -qi yadda yadda I got this info from akpm in lkml, so if you want to search the archives for the thread, search for the subject "Re: odd db4 error with 2.5.69-mm4 [was Re: Huraaa for 2.5]" Thanks dudes...
The following bugs might be clueful: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86381 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=88178 By the way, what would make 2.5.69-mm4 not NPTL savvy?
Yup. O_DIRECT use by db-4.1.25 is hacked out in (at least) rpm-4.2-1 (just released), but it's gonna be a mess.