[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#5129) slapindex -q corrupts database if the DB_CONFIG file has changed

Full_Name: Quanah Gibson-Mount
Version: 2.3.37
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (

After getting repeat DB corruptions, I finally tracked down the issue to this:

If DB_CONFIG has changed since the last time slapd was started, and slapindex -q
is run, the database ends up corrupt.

For example, I did the following with a perfectly happy slapd:

ldap stop
Killing slapd with pid 9857 done.

cd /opt/zimbra/openldap-data
/opt/zimbra/openldap/sbin/slapindex -b '' -q -f /opt/zimbra/conf/slapd.conf

bdb_db_open: DB_CONFIG for suffix  has changed.
Performing database recovery to activate new settings.
bdb(): DB_RECOVER and DB_RECOVER_FATAL require DB_TXN_INIT in DB_ENV->open
bdb(): PANIC: Invalid argument
bdb_db_open: Database cannot be recovered, err -30978. Restore from backup!
backend_startup_one: bi_db_open failed! (-30978)
slap_startup failed

One of the things this does, is break syncreplication, as it apparently clears
out the glue entry. :/