[Pkg-db-devel] Bug#272674: db4.2-util: db4.2_recover only worked when -v specified

Olivier Berger Olivier Berger <olivier.berger@int-evry.fr>, 272674@bugs.debian.org
Tue, 21 Sep 2004 14:46:00 +0200


Package: db4.2-util
Version: 4.2.52-17
Severity: normal

Hi.

Not sure this is what actually happened, but I cannot find another
explanation...

We've had a mangled LDAP database somehow after a power failure, leading
to messed-up db4.2 database.

I've used db4.2_recover without success :

/var/lib/ldap $ db4.2_recover
db_recover: DB_LOGC->get: log record LSN 1/188459: checksum mismatch
db_recover: DB_LOGC->get: catastrophic recovery may be required
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database recovery

Nor did it work with the -c (catastrophic recovery) option :

still :

/var/lib/ldap$ db4.2_recover -c
db_recover: DB_LOGC->get: log record LSN 1/188459: checksum mismatch
db_recover: DB_LOGC->get: catastrophic recovery may be required
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: PANIC: fatal region error detected; run recovery
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database recovery


Then as I was really pissed, I tried with a -v (verbose) option :

/var/lib/ldap$ db4.2_recover -v
db_recover: Finding last valid log LSN: file: 5 offset 826758
db_recover: Recovery starting from [5][826617]
db_recover: Recovery complete at Tue Sep 21 14:36:08 2004
db_recover: Maximum transaction ID 80000002 Recovery checkpoint
[5][826758]


And that actually repaired it !

Surprising, isn't it ?

Hope I didn't dream...

Regards,
-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-200409151
Locale: LANG=C, LC_CTYPE=C

Versions of packages db4.2-util depends on:
ii  libc6                       2.3.2.ds1-16 GNU C Library: Shared libraries an
ii  libdb4.2                    4.2.52-17    Berkeley v4.2 Database Libraries [

-- no debconf information