We've been getting our tails kicked by our Cyrus implementation on AIX, so we're looking into running Linux on our Power4 hardware. Our preferred distribution is Gentoo. We are running cyrus-imapd 2.2.12[1].
During our testing, we noticed that every time master forked a daemon, that our mailboxes.db (skiplist) would be rebuilt. After much wailing and gnashing of teeth, we traced this to the fact that sizeof(time_t)=8. The cyrusdb_skiplist.c:myinit() specifically writes/reads 4 bytes to/from skipstamp. This of course uses the upper four bytes -- which are always zero -- thus the continual reconstruction. We're working around this by read/writing sizeof(time_t) bytes for now. Since Cyrus seems to work on other 64-bit platforms (sparc, amd64, et cetera). We're thinking that the size of time_t changing is either a recent thing, like gcc-3.4 or recent glibc, or an error. Do any Cyrus implementers have an opinion? Do any of the developers want to comment on a better way to fix this, or possibly other places we might need to look? Thanks for your time! [1] This is a recent upgrade from the 2.1 branch for us, we'll have some comments about running a mixed 2.{1,2} environment in the next few weeks. Not worthy of bug reports, since you're not supposed to run that way, but some funnies. -- Stephen L. Ulmer [EMAIL PROTECTED] Senior Systems Programmer http://www.ulmer.org/ Computing and Networking Services VOX: (352) 392-2061 University of Florida FAX: (352) 392-9440
pgp0QmASIiBoA.pgp
Description: PGP signature
---- 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