Bug 102223

Summary: RPM corrupts databases
Product: [Retired] Red Hat Linux Beta Reporter: Alan Cox <alan>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED DUPLICATE QA Contact: Mike McLean <mikem>
Severity: high Docs Contact:
Priority: high    
Version: beta1CC: barryn, katzj, nobody+pnasrat, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-21 18:58:05 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:
Bug Depends On:    
Bug Blocks: 100643    

Description Alan Cox 2003-08-12 18:48:46 UTC
Description of problem:

rpm in beta corrupts databases just like RH9 did

How reproducible:

Use beta1, do lots of rpm updates


error: db4 error(-30989) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested
page
not found
error: db4 error(-30989) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested
page
not found

Comment 1 Jeff Johnson 2003-08-18 19:49:00 UTC
"corrupts" is the wrong word.

rpm through Berkeley DB uses a db environment, DB_PAGE_NOTFOUND
is an indication of cache incoherency, not "corruption".

Workaround (until someone eventually gives me an angle on a
reproducer, as I've never seen the problem) is to get rid of
the cache

    rm -f /var/lib/rpm/__db*

NEEDINFO looking for a an angle on a reproducer.






Comment 2 Alan Cox 2003-08-18 20:06:12 UTC
The rm doesnt work on the beta it seems.

As for a reproducer - it has happened on every non i686 (smell a threading bug
??) beta install I have done.


Comment 3 Jeff Johnson 2003-08-18 20:45:56 UTC
Hmmm, not bug, but possibly (ahem) unrestrained configuration
through anaconda. Might be angle here ...

Jeremy: Can you reproduce this on non-ix86? If so, can you eyeball
your (ahem) config speedups. And, at the minimum, can you nuke the
__db* files at the end of an install?

Comment 4 Matt Wilson 2003-10-21 23:46:59 UTC
we already do that:
    # rpm environment files go bye-bye
    for file in ["__db.001", "__db.002", "__db.003"]:
        try:
            os.unlink("%s/var/lib/rpm/%s" %(instPath, file))
        except Exception, e:
            log("failed to unlink /var/lib/rpm/%s: %s" %(file,e))


Comment 5 Alan Cox 2003-11-12 00:05:18 UTC
So far so good in fedora 1
fingers crossed


Comment 6 Alan Cox 2003-11-12 00:21:49 UTC

*** This bug has been marked as a duplicate of 88720 ***

Comment 7 Jeff Johnson 2003-12-27 05:14:24 UTC
"So far so good in fc1" indicates something other than
rpm code changes have improved the change, as ther have
been no changes related to DB_PAGE_NOTFOUND that I know of.

Keep crossing those fingers, mebbe it helps.

Comment 8 Red Hat Bugzilla 2006-02-21 18:58:05 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.