Cyrus DB Problem

Andreas Kimpfler andreas.kimpfler at
Fri Dec 8 14:41:21 EST 2006


i've got a serious problem with Cyrus Database. Since yesterday mails
will just sporadically be delivered and at some time Cyrus stops work
so no IMAP/POP3 access is possible. Also mails are hanging out in
queue of sendmail.

In the logfile i get a lots of errors which are:

pop3[14196]: DBERROR db4: PANIC: fatal region error detected; run recovery
lmtpunix[14197]: DBERROR db4: PANIC: fatal region error detected; run recovery
pop3[14196]: DBERROR: critical database situation
lmtpunix[14197]: DBERROR: critical database situation


lmtpunix[16651]: FATAL: couldn't exec() sendmail
lmtpunix[16606]: sieve runtime error for bluemaex id <20061207101256.130410 at>: Redirect: Sendmail process terminated normally, exit status 75
lmtpunix[16606]: DBERROR db4: Locker does not exist
lmtpunix[16606]: DBERROR: error fetching <20061207101256.130410 at>: Invalid argument


lmtpunix[16606]: IOERROR: opening /mail/spool/imap/stage./16606-1165496137-0: No such file or directory
lmtpunix[16606]: IOERROR: error unlinking file /mail/spool/imap/stage./16606-1165496137-0: No such file or directory


lmtpunix[13061]: DBERROR: error closing: Invalid argument
lmtpunix[13061]: DBERROR: error closing deliverdb: cyrusdb error


lmtpunix[15602]: lmtp connection preauth'd as postman
lmtpunix[15602]: DBERROR ^CÏ^H^H: db4
lmtpunix[15602]: DBERROR: error fetching <20061207101256.130410 at>: Invalid argument
lmtpunix[15602]: duplicate_check: error looking up <20061207101256.130410 at>/user.bluemaex: cyrusdb error
lmtpunix[15602]: duplicate_check: <20061207101256.130410 at>          user.bluemaex        0

and some more...

I know these errors are database related but i don't find the failure.
After a restart of cyrus imap the errors are gone for about 20
Minutes, then they'll return.
I already googled about this problem and found instructions howto
recreate database. There was told to delete everythin in db/
db.backup1/ and db.backup2/. Also delete deliver.db and
tls_sessions.db. Then check out mailboxes with ctl_mboxlist and return
them in mailboxes.db-format.
But this didn't fix my problem...

I don't know what to do further to get this handled.

I use cyrus-imapd 2.2.12 with autocreate patch on a gentoo box.
Mails are handled by sendmail with amavisd-new and sendmail to deliver
them to cyrus.

my imapd.conf:

configdirectory:        /mail/imap
partition-default:      /mail/spool/imap
defaultpartition:       default
sievedir:               /mail/imap/sieve

tls_ca_path:            /etc/ssl/certs
tls_cert_file:          /etc/ssl/cyrus/
tls_key_file:           /etc/ssl/cyrus/

admins:                 cyrus

hashimapspool:          yes
allowanonymouslogin:    no
allowplaintext:         yes                                                                                                                                   

sasl_pwcheck_method:    saslauthd

my cyrus.conf:

  # Do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"

  # Add or remove based on preferences.
  imap          cmd="imapd" listen="imap2" prefork=0
  pop3          cmd="pop3d" listen="pop-3" prefork=0

  # Don't forget to generate the needed keys for SSL or TLS
  # (see doc/html/install-configure.html).
  imaps         cmd="imapd -s" listen="imaps" prefork=0
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=0

  sieve         cmd="timsieved" listen="sieve" prefork=0

  # at least one LMTP is required for delivery
  #lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

  # This is required.
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # This is only necessary if using duplicate delivery suppression.
  delprune      cmd="ctl_deliver -E 3" period=1440

  # This is only necessary if caching TLS sessions.
  tlsprune      cmd="tls_prune" period=1440

  # SQUAT failed, helps
  squatter      cmd="squatter -r user" period=1440

I hope you can help me.


Andreas Kimpfler

More information about the Info-cyrus mailing list