Bug 203233
Summary: | RPM deadlocks if RPM database build is left in an uncomplete state | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | David Tonhofer <bughunt> |
Component: | rpm | Assignee: | Panu Matilainen <pmatilai> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 5 | CC: | bugzilla, triage, zuirdj |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | bzcl34nup | ||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2008-05-06 16:14:30 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
David Tonhofer
2006-08-19 17:19:30 UTC
Doing rm -f /var/lib/rpm/__db* will remove stale locks left from running out of space on /var. Yes, the file __db* files will reappear after the next rpm command run as root, the files are expected to be there. This problem shows up all the time on FC5 systems. Removing the __db files does solve the problem temporarily, but after some time the problem will show up again. I found that the address shown in the futex call is inside a mmap of __db.002 (not much of a surprise). I suspect this might be caused by cron jobs reading the rpm database. If a cron job has locked the data base when you shut down, it might remain locked after a restart. I haven't tried to verify this theory. If I'm right about this, a solution could be to ensure that the database does not get locked by commands that only read the database. Any access to the database performed by a process not running as root already reads without locking. Even when an rpmq command run as root deadlocks, the same command run as another user works for me. One has to be careful with vocabulary, "deadlock" is not what is happening, blocking on a stale lock is a more accurate description usually. You're correct that non-root does not open a dbenv and will often run to completion when a root process (which does open a dbenv) blocks. Howvere, the non-root process running without locks can/will segfault on inconsistent data without the ability to create a shared lock for reading an rpmdb. Segafualts and loss of data are likely due to removing an rpmdb environment without correcting other problems in the rpmdb. FYI: Most rpmdb "hangs" are now definitely fixed by purging stale read locks when opening a database environment in rpm-4.4.8-0.4. There's more todo, but I'm quite sure that a large class of problems with symptoms of "hang" are now corrected. Detecting damaged by verifying when needed is well automated in rpm-4.4.8-0.4. Automatically correcting all possible damage is going to take more work, but a large class of problems is likely already fixed in rpm-4.4.8-0.4 as well. UPSTREAM User pnasrat's account has been closed Reassigning to owner after bugzilla made a mess, sorry about the noise... Fedora apologizes that these issues have not been resolved yet. We're sorry it's taken so long for your bug to be properly triaged and acted on. We appreciate the time you took to report this issue and want to make sure no important bugs slip through the cracks. If you're currently running a version of Fedora Core between 1 and 6, please note that Fedora no longer maintains these releases. We strongly encourage you to upgrade to a current Fedora release. In order to refocus our efforts as a project we are flagging all of the open bugs for releases which are no longer maintained and closing them. http://fedoraproject.org/wiki/LifeCycle/EOL If this bug is still open against Fedora Core 1 through 6, thirty days from now, it will be closed 'WONTFIX'. If you can reporduce this bug in the latest Fedora version, please change to the respective version. If you are unable to do this, please add a comment to this bug requesting the change. Thanks for your help, and we apologize again that we haven't handled these issues to this point. The process we are following is outlined here: http://fedoraproject.org/wiki/BugZappers/F9CleanUp We will be following the process here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this doesn't happen again. And if you'd like to join the bug triage team to help make things better, check out http://fedoraproject.org/wiki/BugZappers This bug is open for a Fedora version that is no longer maintained and will not be fixed by Fedora. Therefore we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen thus bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |