Bug 80471

Summary: rpm hangs while installing a package.
Product: [Retired] Red Hat Public Beta Reporter: Michael Fratoni <mfratoni>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED DEFERRED QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: phoebeCC: pawsa
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-12-28 00:11:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Fratoni 2002-12-27 00:40:51 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
While installing a single package using 'rpm -ivh package.rpm',
the rpm process hung. The only way to force it to exit was by killing the
process with kill -9.

# rpm -ivh whichcd-0.2.1-1.noarch.rpm
warning: whichcd-0.2.1-1.noarch.rpm: V3 DSA signature: NOKEY, key ID
801bfd2b
Preparing...                ################################## [100%]
   1:whichcd               ################################## [100%]
Killed.

Attempting to query the installed package resulted in another hang.

[root@pheobe root]# rpm -q whichcd
Killed

Rebuilding the database, the packages was shown as not installed.

[root@pheobe root]# rm -f /var/lib/rpm/__db.00*
[root@pheobe root]# rpm --rebuilddb

[root@pheobe root]# rpm -q whichcd
package whichcd is not installed

At this point, installing it again worked.

[root@pheobe root]# rpm -ivh whichcd-0.2.1-1.noarch.rpm
warning: whichcd-0.2.1-1.noarch.rpm: V3 DSA signature: NOKEY, key ID
801bfd2b
Preparing...                ################################# [100%]
   1:whichcd               ################################# [100%]
[root@pheobe root]# rpm -q whichcd
whichcd-0.2.1-1


Version-Release number of selected component (if applicable):


How reproducible:
Didn't try


Additional info:

Comment 1 Jeff Johnson 2002-12-27 14:25:59 UTC
Try rpm-4.2-9 packages at
    ftp://people.redhat.com/jbj/test-4.1
There is a missed sigchild fixed there.

Comment 2 Michael Fratoni 2002-12-27 23:59:49 UTC
All I see available at ftp://people.redhat.com/jbj/test-4.1 is rpm-4.1-9.
That version works fine, and I am using it on my 8.0 machine.
However, that version would be a downgrade from the the one included with the
beta, no? Included with the beta is rpm-4.2-0.25.1.

Should I downgrade to 4.1-9 on Pheobe?

Comment 3 Jeff Johnson 2002-12-28 00:11:36 UTC
Apologies, the same fix is already in rpm-4.2, my brain fart.

The "hang" is almost certainly coming from a stale lock.

The workaround for the moment is to do
        rm -f /var/lib/rpm/__db*
to remove stale locks residnt in those files.

The "fix" will be to use nptl /dev/futex locks which
are refcounted, and disappear when refcount goes to 0,
liminating stale locks.

The "fix" is in the works, deferred until then.

Comment 4 Pawel Salek 2003-01-22 22:21:56 UTC
Observed something similar with rpm-4.2-0.56 on fresh phoebe (beta 2). 
rpm -Uv package.rpm hang. strace revealed that it was waiting on
futex(0x405ca1ec,FUTEX_WAIT,0,NULL
gdb says that the hang occured in __lock_get_rpmdb

I did a rpm --rebuilddb after a reboot and it produced:
db4 error(16) from dbenv->remove: Device or resource busy
but I have not seen the hangs since then (i.e. during last 2 hours).