Bug 92270 - rpm hangs after kernel update to 2.4.20-18.9
rpm hangs after kernel update to 2.4.20-18.9
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
9
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
Mike McLean
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-06-04 09:16 EDT by Robert Scheck
Modified: 2007-04-18 12:54 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-06-05 07:52:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
output from rpmdb --rebuilddb -vv (257.83 KB, text/plain)
2003-06-04 13:45 EDT, Robert Scheck
no flags Details

  None (edit)
Description Robert Scheck 2003-06-04 09:16:44 EDT
Description of problem:
After my kernel update from 2.4.20-13.9 to 2.4.20-18.9 and a normal 
reboot: "rpm -qa | grep kernel" => the WHOLE system hangs (=> hard-reset) 
(well, my ISP is going around and slaps me...).

Version-Release number of selected component (if applicable):
kernel-2.4.20-13.9
kernel-2.4.20-18.9
(rpm of Red Hat Linux 9.0)

How reproducible:
see before and below ;-)

Steps to Reproduce:
1. wget http://updates.redhat.com/9/en/os/i686/kernel-2.4.20-18.9.i686.rpm
2. rpm -ivh kernel-2.4.20-18.9.i686.rpm
3. reboot
4. [login as root]
5. rpm -qa | grep kernel
6. [the system hangs]

Actual results:
Well, either there is a bug at rpm or in the 2 kernel packages...because in 
the last few minutes the system crashed with the old kernel at the same 
position, too.

Tried (but failed):
hurricane:~ # rpm --rebuilddb
Fehler: db4 error(16) from dbenv->remove: Das Geraet oder die Ressource ist 
belegt
hurricane:~ # rm -f /var/lib/rpm/__db.00*
hurricane:~ # rpm --rebuilddb
Fehler: db4 error(16) from dbenv->remove: Das Gerät oder die Ressource ist 
belegt
[the error-message in english should maybe be: "The device or ressource is 
busy"]

So, how can I fix that problem (soon as possible)?!

Aso and I don't want to reinstall all...it is a used server!

Hope to hear soon from you,

Robert
Comment 1 Robert Scheck 2003-06-04 13:45:33 EDT
Created attachment 92138 [details]
output from rpmdb --rebuilddb -vv

Well, that's the output from rpmdb -vv --rebuilddb - maybe someone can help me?
Comment 2 Michael Young 2003-06-04 13:58:47 EDT
The rebuild error is caused by a known bug, but it doesn't affect the success of
the rebuild. 
Comment 3 Robert Scheck 2003-06-04 14:05:26 EDT
Thanks first, but are you sure?

--- snipp ---
hurricane:/var/lib/rpm # dir
insgesamt 25432
drwxr-xr-x    2 rpm      rpm          4096  4. Jun 18:21 .
drwxr-xr-x   16 root     root         4096  4. Jun 19:39 ..
-rw-r--r--    1 rpm      rpm       2670592  4. Jun 16:03 Basenames
-rw-r--r--    1 rpm      rpm         12288  4. Jun 15:44 Conflictname
-rw-r--r--    1 root     root        16384  4. Jun 18:21 __db.001
-rw-r--r--    1 root     root      1318912  4. Jun 18:21 __db.002
-rw-r--r--    1 root     root       458752  4. Jun 18:21 __db.003
-rw-r--r--    1 rpm      rpm        421888  4. Jun 16:03 Dirnames
-rw-r--r--    1 rpm      rpm       5103616  4. Jun 16:03 Filemd5s
-rw-r--r--    1 rpm      rpm         12288  4. Jun 16:03 Group
-rw-r--r--    1 rpm      rpm         12288  4. Jun 16:03 Installtid
-rw-r--r--    1 rpm      rpm         24576  4. Jun 16:03 Name
-rw-r--r--    1 rpm      rpm      17629184  4. Jun 16:03 Packages
-rw-r--r--    1 rpm      rpm        167936  4. Jun 16:03 Providename
-rw-r--r--    1 rpm      rpm         40960  4. Jun 16:03 Provideversion
-rw-r--r--    1 rpm      rpm         12288  4. Jun 16:03 Pubkeys
-rw-r--r--    1 rpm      rpm        110592  4. Jun 16:03 Requirename
-rw-r--r--    1 rpm      rpm         65536  4. Jun 16:03 Requireversion
-rw-r--r--    1 rpm      rpm         45056  4. Jun 16:03 Sha1header
-rw-r--r--    1 rpm      rpm         24576  4. Jun 16:03 Sigmd5
-rw-r--r--    1 rpm      rpm         12288  4. Jun 16:03 Triggername
hurricane:/var/lib/rpm #
--- snapp ---

The time of __db.00* (4. Jun 18:21) was the last time of the rebuild from the 
db...WHY are all dates at the other files "4. Jun 16:03"?

And could you say me why "rpm -qa | grep kernel" hangs up my system?
Comment 4 Jeff Johnson 2003-06-05 07:52:37 EDT
Yes I'm sure that the --rebuilddb message is harmless.

Yes the __db* files are persistent, the files
contain locks, but are not lock files themselves.

Usually a "hang" is due to stale locks left
behind in the __db* files. Try
    rm -f /var/lib/rpm/__db*
If that fixes, then upgrade to rpm-4.2 (Red Hat 9)
or rpm-4.1.1 (Red Hat 8.0) packages from
    ftp://ftp.rpm.org/pub/rpm/dist

All known cases of stale locks causing hangs are fixed there.
Comment 5 Robert Scheck 2003-06-05 08:09:18 EDT
Well, 

  rpm -qa | grep kernel

hangs after doing

  rm -f /var/lib/rpm/__db*

too. After removing the second kernel, rpm works *largely* normal...

P.S: Red Hat Linux 9 already has rpm-4.2-0.69 ;-)
Comment 6 Jeff Johnson 2003-06-05 08:15:22 EDT
Yup, but you need/want rpm-4.2-1 at the URL above.
Comment 7 Robert Scheck 2003-06-05 08:23:05 EDT
:) okay, (hopefully) last question: Can I update rpm itself in the running system (!) with

  rpm -Uvh rpm-4.2-1.i386.rpm

If no, how then?
Comment 8 Jeff Johnson 2003-06-05 08:26:58 EDT
You should be able to.

If rpm-4.2-1 hangs the system with kernel-2.4.20-18.9,
the reopen this bug, and I'll get you sorted out.
Comment 9 Jeff Johnson 2003-06-05 08:27:52 EDT
If you can't upgrade, add LD_ASSUME_KERNEL=2.2.5 prefix,
that should fix.
Comment 10 Robert Scheck 2003-06-05 12:57:36 EDT
Now, rpm works very much better then before (I didn't need that prefix at the 
install), but sometimes rpm needs 99,9% CPU for ~ 1 minutes at a simple query. 
In that time, my server respons very slow or it doesn't respond. 
 
If you want to debug that (or find the cause), you can have my databases and 
outputs from the programs you need - of cause - but: I don't want to 
experience at my server system that should run day by day... 
 
The last is the reason why I didn't reopen the bug. 
 
But thank you for all :) 
Comment 11 Jeff Johnson 2003-06-05 13:06:24 EDT
Yup, rpm -qa verifies header signatures and/or digests
every time it first reads a header from the database.

Verifying signatures/digest is compute intensive.

Add --nodigest --nosignature to disable if you wish,
the default configuration is to always verify.

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