Bug 87899

Summary: rpm hangs indefinetely in pause()
Product: [Retired] Red Hat Linux Reporter: Stephen Shirley <diamond>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED ERRATA QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-03 18:10:38 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:
Attachments:
Description Flags
This is the strace output from the rpm -Uvh command above. none

Description Stephen Shirley 2003-04-03 16:46:06 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
When trying to upgrade some rpms. rpm seems to install the new rpm fine,
but hang indefinetly in pause() before removing the existing package. I have
tried deleting /var/lib/apt/__db* and rebuilding the database a number of times,
but it doesn't change anything. After doing that, i can remove the new version
of the package, but when i try to upgrade it again, rpm hangs again, in the
exact same way. 

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

How reproducible:
Always

Steps to Reproduce:
1. rpm -Uvh glibc-devel_2.3.2-4.80_i386.rpm glibc_2.3.2-4.80_i686.rpm
glibc-common_2.3.2-4.80_i386.rpm


Actual Results:  Rpm hangs forever after printing
Preparing...                ########################################### [100%]
   1:glibc-common           ########################################### [ 33%]
   2:glibc                  warning: /etc/localtime created as /etc/localtime.rpmnew
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
########################################### [ 67%]
   3:glibc-devel            ########################################### [100%]

The old version of glibc-devel is still installed.

Expected Results:  Expected that rpm would remove the the old version of
glibc-devel and exit cleanly.

Additional info:

I'm using apt-get on this system. I've come across this a number of times over
the past few months, until now i assumed it was one of the normal rpm hang bugs
and a new version would fix it, but that doesn't seem to be the case. I'm
attaching the strace output of the above rpm command. As you can see, it hangs
in pause(). The process tree shows that there are no children of rpm, so it's
not the missing SIGCHLD bug.

Comment 1 Stephen Shirley 2003-04-03 16:50:47 UTC
Created attachment 90870 [details]
This is the strace output from the rpm -Uvh command above.

It's 12megs uncompressed, ~585k bz2'd.

Comment 2 Jeff Johnson 2003-04-03 18:10:38 UTC
No, if rpm-4.1-1.06 hanging in pause it's missed SIGCHLD.

FWIW, the final fix is rpm-4.1.1, packages currently staged at
    ftp://ftp.rpm.org/pub/rpm/test-4.1.1
This is same code base as rpm-4.2, also there, compiled w/o
posix mutexes, should drop in.