Help moving/updating Cyrus installation

Edward Rudd eddie at omegaware.com
Tue Feb 17 15:35:39 EST 2004


You have encountered the famed DB4 and NPTL bug.  Goto
http://www.invoca.ch/pub/packages/cyrus-imapd/ and download the updated
db4.spec for fedora core 1 and recompile.

On Sun, 2004-02-15 at 10:36, Ruth Ivimey-Cook wrote:
> Hi folks,
> 
> I hope this case isn't a 'told you so', but I have a bit of a problem...
> 
> Summary: I want to get imap running again, but it refuses to read my bdb
> (version 3) databases. How to I recover?
> 
> I have been using Cyrus IMAPd 2.1.16 on a RH9 Linux server successfully
> for some time now. I decided I should upgrade the server OS to Fedora
> Core 1.  I took a binary (tar-file) backup of the imap data, which I
> store on its own ext3 disk called /imap, along with other tar backups of
> other parts of the system. The OS install seems to have gone well,
> except that cyrus failed to start up, with errors like this:
> 
> 
> 23:09:26 master[1111]: setrlimit: Unable to set file descriptors limit to -1: Operation not permitted
> 23:09:26 master[1111]: retrying with 1024 (current max)
> 23:09:26 master[1111]: process started
> 23:09:26 master[1132]: about to exec /usr/cyrus/bin/ctl_cyrusdb
> 23:09:27 ctl_cyrusdb[1132]: recovering cyrus databases
> 23:09:27 ctl_cyrusdb[1132]: DBERROR db4: write: 0xbfffcf80, 8192: Invalid argument
> 23:09:27 ctl_cyrusdb[1132]: DBERROR: dbenv->open '/imap/conf/db' failed: Invalid argument
> 23:09:27 ctl_cyrusdb[1132]: DBERROR: init /imap/conf/db: cyrusdb error
> 23:09:27 ctl_cyrusdb[1132]: DBERROR db4: environment not yet opened
> 23:09:27 ctl_cyrusdb[1132]: DBERROR: opening /imap/conf/mailboxes.db: Invalid argument
> 23:09:27 ctl_cyrusdb[1132]: DBERROR: opening /imap/conf/mailboxes.db: cyrusdb error
> 23:09:27 master[1111]: process 1132 exited, status 75 
> 23:09:27 master[1111]: no service 'sieve' in /etc/services, disabling sieve
> 23:09:27 master[1111]: no service 'lmtp' in /etc/services, disabling lmtp
> 23:09:27 master[1111]: ready for work
> 23:09:27 master[1133]: about to exec /usr/cyrus/bin/tls_prune
> 23:09:27 master[1134]: about to exec /usr/cyrus/bin/ctl_deliver
> 23:09:27 master[1135]: about to exec /usr/cyrus/bin/ctl_cyrusdb
> 23:09:27 ctl_cyrusdb[1135]: checkpointing cyrus databases
> 23:09:45 ctl_cyrusdb[1135]: DBERROR db4: unable to join the environment
> 23:09:45 ctl_cyrusdb[1135]: DBERROR: dbenv->open '/imap/conf/db' failed: Resource temporarily unavailable
> 23:09:45 ctl_cyrusdb[1135]: DBERROR: init /imap/conf/db: cyrusdb error
> 23:09:45 ctl_cyrusdb[1135]: done checkpointing cyrus databases
> 
> So I thought "oh no"!
> 
> Several hours later and after recompiling both imapd again (no luck) and
> switching from the RH kernel 2.4.22 with nptl to a standard kernel.org
> 2.4.24 kernel, and it still wasn't working.
> 
> Note that I hadn't changed the cyrus code at all: it was the same code
> running against the same databases, and invoking the same copy of
> db4 4.1.25 (self-compiled with no threading).
> 
> I eventually gave up and my email is now (i hope temporarily) back on
> the old /var/mail delivery :-(
> 
> Things I can do: db_dump on the mailboxes.db file produces what
> 		 looks like a valid dump.
> 
> Things I can't do: any operation involving reading the database.
>                  [including cvt_mmboxlist using either the old or
> 		 new executables]
> 
> I have now created a build of 2.2.3, partly in the hope that it works
> better, and also because I want to get away from bdb: it has caused lots
> of hassle in the past. Running apps from that release doesn't help me,
> however. In the hope it's useful, I have included the non-data part of
> the db_dump -da output here, with my /etc/imap.conf file after it:
> 
> In-memory DB structure:
> btree: 0x48000 (DB->open called, read-only)
> bt_meta: 0 bt_root: 1
> bt_maxkey: 0 bt_minkey: 2
> bt_compare: 0x400258ac bt_prefix: 0x4002590c
> bt_lpgno: 0
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> page 0: btree metadata level: 0 (lsn.file: 7 lsn.offset: 7784517)
> 	magic: 0x53162
> 	version: 8
> 	pagesize: 4096
> 	type: 9
> 	keys: 0	records: 0
> 	free list: 0
> 	last_pgno: 3
> 	flags: 0
> 	uid: 83 fe 0 0 42 3 0 0 48 f2 52 3d 37 3d 0 0 0 0 0 0
> 	maxkey: 0 minkey: 2
> 	root: 1
> page 1: btree internal level: 2 records: 0 (lsn.file: 7 lsn.offset: 7788837)
> 	entries:    2 offset: 4044
> 	[000] 4084 count:    0 pgno:    2 type:    1len:   0
> 	[001] 4044 count:    0 pgno:    3 type:    1len:  28 data: user.ruthc.Lists.F2S...
> page 2: btree leaf level: 1 (lsn.file: 7 lsn.offset: 7849118)
> 	prev:    0 next:    3 entries:   70 offset: 2044
> 	[000] 4080 len:  11 data: Junk E-mail
> 	[001] 4056 len:  21 data: 0 default anyone0x09rwi...
> 	[002] 4044 len:   8 data: user.cbs
> 	[003] 4004 len:  34 data: 0 default cbs0x09lrswip...
> 	[004] 3984 len:  14 data: user.cbs.Admin
> 	[005] 3944 len:  34 data: 0 default cbs0x09lrswip...
> ..snip...
> 	[060] 2296 len:  22 data: user.ruthc.wotug-ctt...
> 	[061] 2264 len:  26 data: 0 default ruthc0x09lrsw...
> db_dump: close: Permission denied
> 
> 
> The /etc/imap.conf file [note I'm not using the mysql stuff - it
> was an experiment]:
> 
> configdirectory: /imap/conf
> sievedir: /imap/sieve
> sieveusehomedir: false
> sendmail: /usr/exim/bin/exim
> partition-default: /imap/spool
> admins: root ruthc
> srvtab: /imap/srvtab
> defaultacl: anyone write
> allowanonymouslogin: yes
> allowplaintext: yes
> auxprop_plugins: mysql digest-md5 cram-md5 plain
> #sasl_pwcheck_method: pwcheck
> sasl_pwcheck_method: saslauthd
> sasl_mech_list: mysql
> sasl_mysql_user: cyrus
> sasl_mysql_database: saslmail
> sasl_mysql_statement: select password from users where username = %u 
> #sasl_mysql_statement: select %p from users where username = %u and realm = %r
> sasl_mysql_verbose:  true
> 
> 
> ---
> Home Page: http://asg.web.cmu.edu/cyrus
> Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
-- 
Edward Rudd <eddie at omegaware.com>
Website http://outoforder.cc/

---
Home Page: http://asg.web.cmu.edu/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