my cyrus went crazy - "PANIC: DB_RUNRECOVERY: Fatal error" and others
    Grzegorz Mucha 
    grzegorz.mucha at gmail.com
       
    Sat Mar 19 18:12:52 EST 2005
    
    
  
Hello,
my environment:
Gentoo
net-mail/cyrus-imapd 2.2.12
sys-libs/db 4.1.25_p1-r4 1.85-r2
today in the morning I have noticed that postfix cannot deliver mail to 
mailboxes. A fast look at /var/log/everything/* showed that Cyrus went 
crazy with messages like these:
Mar 19 12:29:33 [lmtpunix] DBERROR db4: environment not yet opened
Mar 19 12:29:33 [lmtpunix] DBERROR: opening /var/imap/deliver.db: 
Invalid argument
Mar 19 12:29:33 [lmtpunix] DBERROR: opening /var/imap/deliver.db: 
cyrusdb error
Mar 19 12:29:33 [lmtpunix] FATAL: lmtpd: unable to init duplicate 
delivery database
Mar 19 12:29:33 [master] service lmtpunix pid 30445 in READY state: 
terminated abnormally
unfortunately logs have already rotated so many times, that could not 
find information about the beginning of the disaster.
Anyway - /etc/init.d/cyrus restart fortunately helped and until now 
everything was fine.
But then... cyrus went down again with logs like this:
Mar 19 22:27:28 [postfix/pipe] 86247530B5: to=<grzes at pyza.from.cx>, 
orig_to=<root at pyza.from.cx>, relay=cyrus, delay=1, status=sent 
(pyza.from.cx)
Mar 19 22:27:29 [postfix/pipe] 86247530B5: to=<marcin at pyza.from.cx>, 
orig_to=<root at pyza.from.cx>, relay=cyrus, delay=2, status=sent 
(pyza.from.cx)
Mar 19 22:27:29 [postfix/qmgr] 86247530B5: removed
(till now it was ok)
Mar 19 22:30:01 [/usr/sbin/cron] (root) CMD (test -x /usr/sbin/run-crons 
&& /usr/sbin/run-crons )
Mar 19 22:32:15 [ctl_cyrusdb] checkpointing cyrus databases
Mar 19 22:32:17 [ctl_cyrusdb] DBERROR db4: DB_LOGC->get: log record 
checksum mismatch
Mar 19 22:32:17 [ctl_cyrusdb] DBERROR db4: DB_LOGC->get: catastrophic 
recovery may be required
Mar 19 22:32:17 [ctl_cyrusdb] DBERROR db4: PANIC: DB_RUNRECOVERY: Fatal 
error, run database recovery
Mar 19 22:32:17 [ctl_cyrusdb] DBERROR: critical database situation
Mar 19 22:33:20 [imap] DBERROR db4: fatal region error detected; run 
recovery
Mar 19 22:33:20 [imap] DBERROR: dbenv->open '/var/imap/db' failed: 
DB_RUNRECOVERY: Fatal error, run database recovery
Mar 19 22:33:20 [imap] DBERROR: init() on berkeley
Mar 19 22:33:20 [imap] sql_select option missing
Mar 19 22:33:20 [imap] auxpropfunc error no mechanism available_
Mar 19 22:33:20 [imap] login: localhost [127.0.0.1] marcin plaintext 
User logged in
Mar 19 22:38:21 [imap] DBERROR db4: fatal region error detected; run 
recovery
and then:
Mar 19 22:51:05 [imaps] idle for too long, closing connection
                 - Last output repeated twice -
Mar 19 22:52:05 [imaps] DBERROR db4: fatal region error detected; run 
recovery
Mar 19 22:52:05 [imaps] DBERROR: error closing: DB_RUNRECOVERY: Fatal 
error, run database recovery
Mar 19 22:52:05 [imaps] DBERROR: error closing tlsdb: cyrusdb error
Mar 19 22:52:05 [imaps] DBERROR db4: fatal region error detected; run 
recovery
Mar 19 22:52:05 [imaps] DBERROR: error exiting application: 
DB_RUNRECOVERY: Fatal error, run database recovery
Mar 19 22:52:13 [imaps] DBERROR db4: fatal region error detected; run 
recovery
Mar 19 22:52:13 [imaps] DBERROR: error closing: DB_RUNRECOVERY: Fatal 
error, run database recovery
Mar 19 22:52:13 [imaps] DBERROR: error closing tlsdb: cyrusdb error
Mar 19 22:52:13 [imaps] DBERROR db4: fatal region error detected; run 
recovery
Mar 19 22:52:13 [imaps] DBERROR: error exiting application: 
DB_RUNRECOVERY: Fatal error, run database recovery
(I use imaps for remote mail clients)
I tried to restart cyrus, but got only:
Mar 19 22:59:57 [master] exiting on SIGTERM/SIGINT
Mar 19 22:59:58 [master] setrlimit: Unable to set file descriptors limit 
to -1: Operation not permitted
Mar 19 22:59:58 [master] retrying with 1024 (current max)
Mar 19 22:59:58 [master] process started
Mar 19 22:59:58 [ctl_cyrusdb] DBERROR db4: DB_ENV->log_flush: LSN past 
current end-of-log
Mar 19 22:59:58 [ctl_cyrusdb] DBERROR db4: /var/imap/deliver.db: unable 
to flush page: 0
Mar 19 22:59:58 [ctl_cyrusdb] DBERROR db4: txn_checkpoint: failed to 
flush the buffer cache Invalid argument
Mar 19 22:59:58 [ctl_cyrusdb] DBERROR db4: PANIC: Invalid argument
Mar 19 22:59:58 [ctl_cyrusdb] DBERROR: critical database situation
Mar 19 22:59:58 [master] process 3885 exited, status 75_
Mar 19 22:59:59 [master] ready for work
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR db4: fatal region error detected; 
run recovery
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: dbenv->open '/var/imap/db' 
failed: DB_RUNRECOVERY: Fatal error, run database  recovery
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: init() on berkeley
Mar 19 22:59:59 [ctl_cyrusdb] checkpointing cyrus databases
Mar 19 22:59:59 [tls_prune] DBERROR db4: fatal region error detected; 
run recovery
Mar 19 22:59:59 [tls_prune] DBERROR: dbenv->open '/var/imap/db' failed: 
DB_RUNRECOVERY: Fatal error, run database recovery
Mar 19 22:59:59 [tls_prune] DBERROR: init() on berkeley
Mar 19 22:59:59 [tls_prune] DBERROR db4: environment not yet opened
Mar 19 22:59:59 [tls_prune] DBERROR: opening /var/imap/tls_sessions.db: 
Invalid argument
Mar 19 22:59:59 [tls_prune] DBERROR: opening /var/imap/tls_sessions.db: 
cyrusdb error
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR db4: txn_checkpoint interface 
requires an environment configured for the tran
saction subsystem
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: couldn't checkpoint: Invalid argument
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: sync /var/imap/db: cyrusdb error
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR db4: DB_ENV->log_archive interface 
requires an environment configured for the logging subsystem
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: error listing log files: Invalid 
argument
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: archive /var/imap/db: cyrusdb error
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR db4: txn_checkpoint interface 
requires an environment configured for the tran
saction subsystem
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: couldn't checkpoint: Invalid argument
Mar 19 22:59:59 [ctl_cyrusdb] DBERROR: sync /var/imap/db: cyrusdb error
[...]
I tried ctl_cyrusdb -r, with no effect :
Mar 19 23:48:16 [ctl_cyrusdb] DBERROR db4: DB_ENV->log_flush: LSN past 
current end-of-log
Mar 19 23:48:16 [ctl_cyrusdb] DBERROR db4: /var/imap/deliver.db: unable 
to flush page: 0
Mar 19 23:48:16 [ctl_cyrusdb] DBERROR db4: txn_checkpoint: failed to 
flush the buffer cache Invalid argument
Mar 19 23:48:16 [ctl_cyrusdb] DBERROR db4: PANIC: Invalid argument
Mar 19 23:48:16 [ctl_cyrusdb] DBERROR: critical database situation
Please help!
_________________
Rgds, Grzes
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
    
    
More information about the Info-cyrus
mailing list