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

(ITS#4938) hdb_db_close SEGVs



Full_Name: Aaron RIchton
Version: 2.3.35
OS: Solaris 9
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (128.6.30.206)


BDB 4.2.52. I've had a couple (different) machines SEGV on slapd shutdown. Both
had identical stack traces:

current thread: t@1
=>[1] __dbreg_revoke_id(dbp = 0xa498818, have_lock = 0, force_id = -1), line 427
in "dbreg.c"
  [2] __dbreg_close_files(dbenv = 0x405320), line 206 in "dbreg_util.c"
  [3] __log_dbenv_refresh(dbenv = 0x405320), line 744 in "log.c"
  [4] __dbenv_refresh(dbenv = 0x405320, orig_flags = 0, rep_check = 0), line 648
in "env_open.c"
  [5] __dbenv_close(dbenv = 0x405320, rep_check = 0), line 579 in "env_open.c"
  [6] __dbenv_close_pp(dbenv = 0x405320, flags = 0), line 534 in "env_open.c"
  [7] hdb_db_close(be = 0x367340), line 517 in "init.c"
  [8] backend_shutdown(be = 0x367340), line 351 in "backend.c"
  [9] slap_shutdown(be = (nil)), line 279 in "init.c"
  [10] main(argc = 4, argv = 0xffbffd6c), line 870 in "main.c"

No idea if this is Sleepycat or slapd, but it dirties the database in a way that
automatic nor command-line db_recover appreciate:

Ignoring log file: log.0000000007: magic number 0, not 40988
Invalid log file: log.0000000007: Invalid argument
PANIC: Invalid argument
PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
hdb_db_open: Database cannot be recovered, err -30978. Restore from backup!
DB_ENV->lock_id_free interface requires an environment configured for the
locking subsystem
txn_checkpoint interface requires an environment configured for the transaction
subsystem
bdb_db_close: txn_checkpoint failed: Invalid argument (22)
backend_startup_one: bi_db_open failed! (-30978)