Bug 742745

Summary: rpmdb got broken by doing read only operations with rpm program when no free disk space
Product: [Fedora] Fedora Reporter: zimon <zimon>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 15CC: ffesti, jnovy, pmatilai
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-07 18:05:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
The text capture of x-terminal when the rpmdb got broken. none

Description zimon 2011-10-02 11:29:04 UTC
Created attachment 525924 [details]
The text capture of x-terminal when the rpmdb got broken.

Description of problem:

rpmdb got broken, when I just queried the database with 'rpm -q' commands.

It gives this error:
"error: rpmdb: Thread/process 15795/140261960107968 failed: Thread died in Berkeley DB library
error: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db4 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
error: rpmdb: Thread/process 15795/140261960107968 failed: Thread died in Berkeley DB library
error: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages database in /var/lib/rpm"

After the rpmdb was broken, I noticed the root filesystem was "full" for a normal user at least. I removed immediately some stuff, so I am not now sure if the filesystem was really absolutely full or if there still was "reserved-blocks" for root available. But I assume there has must been free space for root, because the the size of the video file I removed doesn't add up now with the absolutely free space I have in the root filesystem.

The video file I removed was 2.7 GiB and now the root fs has:
# df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      127G  125G  943M 100% /


Attached rpm_db_crash_terminal_log.txt is the text capture from the x-terminal, what I did and what happened.
Notice I interrupted the 'rpm -qa gnash*' search with CTRL-C.
Still I do not think it should get broken when -q is read only command?


Version-Release number of selected component (if applicable):
4.9.1.1

How reproducible:
Once this far.

I got rpmdb fixed making the following:
[root@localhost ~]# rm -f /var/lib/rpm/__db.00*
[root@localhost ~]# db_verify /var/lib/rpm/Packages
[root@localhost ~]# rpm --rebuilddb

Comment 1 Panu Matilainen 2011-10-14 09:41:49 UTC
Even read-only operations (have to) write to the db environment (not the package database itself): locking information is recorded, data cached etc, and unclean shutdown will result in these errors.

That it occurred after interrupting with ctrl-c suggests that this is almost certainly a dupe of bug 739492, the update fixing this issue had just been pushed to f15-stable updates shortly before the time of this report, so there's a fair chance you hadn't updated to the fixed version (rpm >= 4.9.1.1-2) yet.

Comment 2 Fedora End Of Life 2012-08-07 18:05:40 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping