Jeff Johnson wrote:
> So rpm-4.4.7 works reliably and rpm-4.4.9 does not.
At least as far as i used it. AIX is too quirky to completely
rule out more surprises ;-)
> There have been few changes. Berkeley DB is connected
> to rpm in rpmdb/db3.c.
>
> I just ran
> cvs diff -r rpm-4_4_7-release -r rpm-4_4_9-release db3.c
> and the output is at
> http://wraptastic.org/pub/jbj/db3.c-447-449.diff
> for reference.
>
> Can you try
> rm -f /var/lib/rpm/__db*
> rpm -qa
> as non-root?
>
> Running "rpm -qa" as non-root avoids dbenv cache/lock issues and
> (if the command works) you're likely close to functional rpm-4.4.9.
You're right, as non-root 'rpm -qa' seems to work:
frank@leela:~
$ rpm -qa
[...] $Packagelist [...]
frank@leela:~
$ echo $?
0
> This is the automated recovery kicking in, the major change
> between 4.4.7 and 4.4.9. If necessary, replacing rpmdb/db3.c
> in rpm-4.4.9 with the version in 4.4.7 will be one of the first
> things to try. The two files should be close to being interchangeable.
>
> Try rpm --verifydb to do the same manually
I tried using rpmdb/db3.c from 4.4.7, but is seems to get into
the same error, though not repeatedly like the original one from
4.4.9:
bash-3.2# rpm -vv --rebuilddb
D: rebuilding database /var/opt/afw/rpm/db into /var/opt/afw/rpm/dbrebuilddb.299126
D: creating directory /var/opt/afw/rpm/dbrebuilddb.299126
D: opening old database with dbapi 3
D: opening db environment /var/opt/afw/rpm/db/Packages create:cdb:mpool
rpmdb: unable to initialize mutex: Invalid argument
rpmdb: unable to destroy mutex: Invalid argument
rpmdb: PANIC: Invalid argument
rpmdb: unable to join the environment
error: db4 error(-30975) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
D: opening db index /var/opt/afw/rpm/db/Packages rdonly mode=0x0
error: cannot open Packages index using db3 - (-30975)
D: removing directory /var/opt/afw/rpm/dbrebuilddb.299126
Does this help or is there any more information i can provide?
Regards,
Frank
Received on Sat Jun 9 19:54:55 2007