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 595553 - Problems doing any updates, due to akmods
Summary: Problems doing any updates, due to akmods
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: yum
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: James Antill
QA Contact: Karel Srot
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-24 23:44 UTC by James Antill
Modified: 2014-01-21 06:18 UTC (History)
2 users (show)

Fixed In Version: yum-3.2.27-9.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-15 14:52:59 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description James Antill 2010-05-24 23:44:37 UTC
Description of problem:

 Akmods isn't in Fedora/RHEL (I think), but is used due to the nvidia module. However when used to update a kernel it can cause the yum rpmdb index cache to be wrong, and we assume that doesn't happen (and thus. assume everything in it exists). The problem stops yum from doing any updates, see bug#595063 and bug#591382 (I think they are the same thing though).

 What happens is (AFAICS):

1. akmods is installed, and has a kernel postinst scritplet.

2. kernel is updated within a yum transaction.

3. akmods spawns a build+install for the nvidia/etc. kernel module.

4. yum completes the transaction (thus. freeing the rpmdb lock).

5. yum drops all it's caches.

6. yum loads all the rpmdb info. again to write out the new yumdb stuff, and  to create a new "rpmdb version" cache breaker.

7. akmods does the install part of #3, thus. changing the rpmdb behind yum.

8. yum writes out the new yumdb info. and generates the new "rpmdb version".

9. yum writes out the new "rpmdb version" cache breaker (and it thus. has a newer mtime).

...at this point we have a valid cache of the rpmdb at time #6, but it's bad.
 I did two defensive upstream fixes last week, and both should help:

1. If the mtime of rpmdb changes between the start of #6 and the  end of #9, we don't write the file.

2. We don't traceback if the packages in the cache aren't there.

...we might do something else upstream so that akmods can't run at all until after #9, or something ... but both these should help, and are pretty harmless.

Comment 1 RHEL Product and Program Management 2010-05-24 23:46:19 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 7 releng-rhel@redhat.com 2010-11-15 14:52:59 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.


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