Bug 73200 - rpm-4.1 hangs: rpm -Uvh progress at 100%
Summary: rpm-4.1 hangs: rpm -Uvh progress at 100%
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 7.3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact:
URL:
Whiteboard:
: 76635 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-08-31 19:18 UTC by Jeff Johnson
Modified: 2008-05-01 15:38 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2003-03-10 16:24:48 UTC
Embargoed:


Attachments (Terms of Use)

Description Jeff Johnson 2002-08-31 19:18:38 UTC
This is a category bug for a class of "hangs"
that are new in rpm-4.1.

rpm-4.1 orders packages differently than previously,
putting all erased packages at the end of a
transaction, rather than interleaving installs and
erasures like previous versions of rpm.

So, if you are seeing an upgrade apparently "hang"
at the end of a transaction, with the screen displaying
100%, take a look at top to see if rpm is using cpu
cycles. If so, then rpm is not really hung at all,
just busy doing erasures. If not, you have some other
problem, go to the bug that looks like 
	rpm-4.1 hangs: READ THIS FIRST
to see the categories of "hangs" in rpm-4.1.

Yes, rpm needs to supply better user feedback during
erasures, but that's a different problem, probably also
somewhere here in bugzilla.

Comment 1 Olivier Baudron 2002-09-04 21:47:25 UTC
I have _this_ type of hanging problem.
My box is a rawhide machine which is daily updated.
I have seen this kind of problem more and more often over the past 2 or 3
months. It occurs about 5% of the times, and it has more chance to happens if
lots of package are upgraded at the same time. That's all about I can say, but
really there is hanging problem in "rpm -Uvh".

Comment 2 Jan Nieuwstad 2002-10-07 08:28:11 UTC
I've experienced the same problems as described above using the rpm version 
from RedHat 8.0.  
 
I ran rpm -Uvvh (upgrading several rpms). This showed were the rpm stopped: 
D:     erase: %postun(xawtv-3.73-3) asynchronous scriptlet start 
D:     erase: %postun(xawtv-3.73-3)     execv(/bin/sh) pid 7375 
+ '[' 1 = 0 ']' 
 
At this time the child process is gone. 
 
At the same time the process is in the following state (it stays there 
indefinetly): 
 
[jan@jodocus /var/tmp 13] cat /proc/7146/status 
Name:   rpm 
State:  S (sleeping) 
Tgid:   7146 
Pid:    7146 
PPid:   7099 
TracerPid:      0 
Uid:    0       0       0       0 
Gid:    0       0       0       0 
FDSize: 256 
Groups: 0 1 2 3 4 6 10 
VmSize:    11540 kB 
VmLck:         0 kB 
VmRSS:      7476 kB 
VmData:     4856 kB 
VmStk:       280 kB 
VmExe:      1772 kB 
VmLib:      2840 kB 
SigPnd: 0000000000000000 
SigBlk: 0000000080000000 
SigIgn: 8000000000000000 
SigCgt: 000000038001400f 
CapInh: 0000000000000000 
CapPrm: 00000000fffffeff 
CapEff: 00000000fffffeff 
 
I couldn't find any documentation on the coding of the signalmasks in /proc, 
but my guess from here would be that the sigchld signal from the postuninstall 
script gets blocked/is ignored, leaving rpm to wait for it. 
 
Another sideeffect I'v encountered after stopping rpm with kill -9 in this 
situation:  
The upgraded packages suddenly have 2 installed instances in the rpm database: 
the old version and the new version: 
The fix for this is to 'rpm -e package-oldversion'. The files and database 
entries for the new version are apparently already in place, but the entries 
from the old version are still in the database. 
rpm -ql & rpm -V show that it's alright after the rpm -e. 
If needed I can provide the whole output of rpm -Uvvh. 


Comment 3 Need Real Name 2002-10-08 13:01:44 UTC
jbj said: "rpm-4.1 orders packages differently than previously,
putting all erased packages at the end of a transaction, rather than
interleaving installs and erasures like previous versions of rpm."
That is bad news I am afraid - this would mean that much more space on /usr is
needed to complete rpm -U with a significant number of packages than what was
needed with previous versions of rpm ... Or does this refer to removing entries
from rpm database only?

Comment 4 Jeff Johnson 2002-10-08 13:16:01 UTC
On upgrade, files are mostly replaced, so not very
much more diskspace is is needed and/or required.
Remember, rpm installs before removing, marking
files that have just been replaced to be skipped during
erase.

Comment 5 Jeff Johnson 2002-10-25 15:46:28 UTC
*** Bug 76635 has been marked as a duplicate of this bug. ***

Comment 6 Joseph R. Kiniry 2002-12-03 11:13:25 UTC
Any news on this widespread issue in RPM 4.1?  All of our RH 8 boxes here are
having problems with rpm crashing, partial failures, etc.

Comment 7 Richard Torkar 2003-03-09 16:35:14 UTC
Me too [TM]

Comment 8 Jeff Johnson 2003-03-10 16:24:48 UTC
Time to close this umbrella bug too.

There are test packages that fix missed SIGCLD and SIGPIPE
handling at
    ftp://ftp.rpm.org/pub/rpm/test-4.2
    ftp://ftp.rpm.org/pub/rpm/test-4.1.1

Please do *NOT* reopen this bug, there are already too
many variant problems to solve any. Instead, open an
individual bug.


Note You need to log in before you can comment on or make changes to this bug.