Kolab2 Server Troubleshooting - IMAP

From Kolab wiki

Jump to: navigation, search


This section applies to problems you might experience with the Cyrus IMAP server.

Contents

I see a DBERROR db4: mailboxes.db: unexpected file type or format in the log file

Operating system Distribution Kolab version
Applies to: probably applies to all *NIX systems Applies to: probably all distributions Applies to: Kolab 2.1_beta4 and higher
Found on: Linux Found on: unknown Found on: Kolab 2.1_RC1

Problem

Cyrus IMAP does not start and you see the following error in the log files:

DBERROR db4: .../mailboxes.db: unexpected file type or format
DBERROR: opening .../mailboxes.db: Invalid argument
DBERROR: opening ..../mailboxes.db: cyrusdb error
Fatal error: can't read mailboxes file
imap[12863]: executed


Solution

The file .../mailboxes.db (it could also be .../annotations.db) has the wrong file format. It needs to have the berkeley DB format.

Check if it is in skiplist format (this is most likely):

head -c 17 /kolab/var/imapd/mailboxes.db | tail -c 13
skiplist file

Convert the file format using

 /kolab/bin/openpkg rc imapd stop
 su - kolab-r
 cd /kolab/var/imapd/
 mv annotations.db annotations.db-skiplist
 cvt_cyrusdb /kolab/var/imapd/annotations.db-skiplist skiplist /kolab/var/imapd/annotations.db berkeley
 mv mailboxes.db mailboxes.db-skiplist
 cvt_cyrusdb /kolab/var/imapd/mailboxes.db-skiplist skiplist /kolab/var/imapd/mailboxes.db berkeley
 exit
 /kolab/bin/openpkg rc imapd start

If you experienced this error without ever using the kolab server before you can also simply erase the problematic file and restart the IMAP server. The file will the be recreated in the correct format. Don't do this if you already had users on the Kolab server!. All mailboxes on the system would be lost.

If you saw that error on a fresh installation, please also report this at https://intevation.de/roundup/kolab/issue1692


Distribution specific information (This information might apply if you run Kolab natively on non-OpenPKG distributions)
Gentoo
On Gentoo you need to run the following commands to convert the databases:
# Ensure that cyrus-imap is not running
/etc/init.d/cyrus stop
# Move the old databases away
mv /var/imap/mailboxes.db /var/imap/mailboxes.db-skiplist
mv /var/imap/annotations.db /var/imap/annotations.db-skiplist
# Convert the databases
/usr/lib/cyrus/cvt_cyrusdb /var/imap/mailboxes.db-skiplist skiplist /var/imap/mailboxes.db berkeley
/usr/lib/cyrus/cvt_cyrusdb /var/imap/annotations.db-skiplist skiplist /var/imap/annotations.db berkeley
chown -R cyrus:mail /var/imap/annotations.db /var/imap/mailboxes.db /var/imap/db
# Emerge the new kolabd ebuild again
emerge kolabd
# Update the configuration
kolabconf
# Restart the cyrus-imapd server
/etc/init.d/cyrus start


My problem persists

None of the above hints did help you to solve your problem?

Please check your options for getting support and reporting errors.

Back

Back to the troubleshooting index

Personal tools