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.
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
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.