[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: yum update: Fatal error, run database recovery ??



On Tue, 21 Apr 2009, Panu Matilainen wrote:

On Tue, 21 Apr 2009, Richard Hughes wrote:

On Tue, 2009-04-21 at 08:35 -0400, Seth Vidal wrote:
Safe how? It's likely the package won't be rebuilt properly but it
shouldn't damage anything other than the pkg it is trying to rebuild.

Cool, that's what I wanted to know. PackageKit allows the user to cancel
the transaction when the package is being rebuilt, and I wondered if
this could cause the rpmdb corruption people are seeing. I guess this
isn't the case.

Well... that all depends whether the rpmdb is open when the packages are getting rebuilt or not.

Or actually more to the point: sending SIGINT or SIGTERM is fine, rpm blocks that when the db is open. But sending a SIGKILL (like PK does if the backend doesn't terminate quickly) is just Russian roulette - sometimes you get away with it, sometimes you dont.

If SIGKILL happens while rpm is running inside db4 code, with current rpm + db4 combination you'll get one of these:

rpmdb: Thread/process 16507/3086059200 failed: Thread died in Berkeley DB
library
error: db4 error(-30975) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery

Previously (eg in F9) you'd just have a dead rpm which hangs when you try to access it.

	- Panu -


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]