Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 175431 - RPM (and YUM) freezes
Summary: RPM (and YUM) freezes
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 4
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Paul Nasrat
QA Contact: Mike McLean
Depends On:
TreeView+ depends on / blocked
Reported: 2005-12-10 11:19 UTC by Kunszt Arpad
Modified: 2007-11-30 22:11 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2006-02-19 21:40:02 UTC

Attachments (Terms of Use)
A failed RPM runs output (deleted)
2006-01-19 11:31 UTC, Kunszt Arpad
no flags Details
A "successed" rpm runs strace log (deleted)
2006-01-19 11:35 UTC, Kunszt Arpad
no flags Details
The rpms output on the straced run (deleted)
2006-01-19 11:37 UTC, Kunszt Arpad
no flags Details

Description Kunszt Arpad 2005-12-10 11:19:24 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051201 Fedora/ Firefox/1.5

Description of problem:
When I upgrade via YUM or via RPM some package sometimes happen that the RPM process lock in a futex() call. The only solution is to kill -9 <PID>. But after it the RPM database will be corrupt. The affected packages will exist in 2 versions in the DB. This problem can only solves by hand. So I must to disable automatic updates for all my machines because this issue.

If I run rpm -U -vv <package> I see that the RPM started one of the package install scripts and then [ 1 = 0 ] is the last line. The actual script begins if [ $1 = 0]; line.

This problem is nearly unreproduceable in fresh installation. But it turns up often when the installation gets old. I think it has a chance for deadlock and every problem cause DB damage or else and increase this chance.

I tried Fedora's kernels and vanilla kernels but none of them helps.

I think this is a big problem. I need to check the updates by hand all of my machines. It's lots of work and very frustrating!

PS: Sorry for my bad English!

Version-Release number of selected component (if applicable):
rpm-4.4.1-22 and other versions

How reproducible:

Steps to Reproduce:
yum upgrade OR rpm -U -vv <package> maybe reproduce this problem

Additional info:

Comment 1 Andre Robatino 2005-12-10 18:40:19 UTC
  This may be related to bug #161038 (up2date causing packages to be installed
twice, or at least that's what the RPM database says) and bug #170753 (same
thing with yum).

Comment 2 Kunszt Arpad 2005-12-11 10:45:15 UTC
Additional info:

It looks like that the RPM process spawned a child process for the shell script
execution and waiting for it. But it's completed before the main process started
to wait.
IMHO, because when the deadlock come up the child shell process doesn't exists.

Comment 3 Kunszt Arpad 2005-12-18 19:00:37 UTC
Additional info:

It happened again. The RPM process freezed in to remove one of the duplicated
CPP rpms. It was late night so I turned off the machine. Next day I tried to
reproduce this but I cant. It worked.
So it's random when turns this bug up.

Comment 4 Kunszt Arpad 2006-01-19 11:31:30 UTC
Created attachment 123421 [details]
A failed RPM runs output

Comment 5 Kunszt Arpad 2006-01-19 11:33:28 UTC
First I ran an rpm --rebuilddb to correct any problem which is exists in the DB.
Then I tried to remove a duplicates. I always try remove the new package and I
upgrade from Yum's cache with hand. Often with --nopreun or something similar to
disable the scripts. If I remove the old package some files are missing from the
system example the docs file.

[root@sol rpm]# rpm -q mysql-server

[root@sol rpm]# rpm -e -vv mysql-server-4.1.16-1.FC4.1 >/tmp/rpm.log 2>&1
It's failed and freezed in the middle. I attached the rpm.log file. (I hope :-) )
I wanted to do a strace from it. So I try with:

[root@sol rpm]# strace -o /tmp/rpm.strace -fFF rpm -e -vv
It's succeeded. It can remove the package but it's freezed at the end. I needed
to kill it with SIGKILL. I attached also the rpm.strace file. I copied the RPM
output from console and I paste it into an rpm.log_with_strace file. Attached
also. (The last word: Leállítva is stopped in Hungarian, it means I killed the
process with SIGKILL.)

It's strange but it looks like when I strace the process it's more "stable".
This is not the first time when the rpm runs with strace and freeze without it.

Comment 6 Kunszt Arpad 2006-01-19 11:35:48 UTC
Created attachment 123422 [details]
A "successed" rpm runs strace log

Comment 7 Kunszt Arpad 2006-01-19 11:37:24 UTC
Created attachment 123423 [details]
The rpms output on the straced run

Comment 8 Paul Nasrat 2006-02-13 16:23:09 UTC
A scriptlet deadlock issue has been addressed in rawhide bug #146549 can you
reproduce with fc5t2 and rpm 4.4.2-15?

Comment 9 Kunszt Arpad 2006-02-17 12:21:44 UTC
I can't install fc5t2. But I downloaded the SRPM for rpm-4.4.2-15.2. I
recompiled and installed it.
On one machine looks like that the problem is goes away. I upgraded about 10-15
packages successfuly. Before this version I can't do this. It's freezes
everytime with this packages. I was happy.
But then I tried with my own home machine with more packages and the problem
comes up again and "destroy" my machine. Now I have approx. 200 duplicated
packages :-( I need to reinstall it, it's faster than correct this mess....

So I think to problem is still exists or there was more problem/bug what causes
this symptoms.

Comment 10 Jeff Johnson 2006-02-19 21:40:02 UTC
This problem appeasr solved. Other problems should be in other, perhaps new, bug reports.

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