On Thu, 2006-08-03 at 15:39 -0400, Scott Zahn wrote:
On Thu, August 3, 2006 15:28, David Jonas wrote:
On Thu, 2006-08-03 at 15:07 -0400, Scott Zahn wrote:
Hey everyone, I'm trying version 1.0rc2, via the rpm at ATrpms. I'm running on CentOS 4.3 on an Opteron system. I have this running stably on a 32 bit system, but I'm crashing constantly on a 64 bit system.
Here's what I'm getting in my mail logs when I try to log in via IMAP:
Aug 3 15:01:21 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: IMAP(scottz): file index-mail.c: line 105 (index_mail_get_fixed_field): assertion failed: (buffer_get_used_size(buf) == data_size) Aug 3 15:01:22 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: child 3208 (imap) killed with signal 6 Aug 3 15:01:22 lisa dovecot: IMAP(scottz): file index-mail.c: line 105 (index_mail_get_fixed_field): assertion failed: (buffer_get_used_size(buf) == data_size) Aug 3 15:01:22 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: child 3210 (imap) killed with signal 6 Aug 3 15:01:22 lisa dovecot: IMAP(scottz): file index-mail.c: line 105 (index_mail_get_fixed_field): assertion failed: (buffer_get_used_size(buf) == data_size) Aug 3 15:01:22 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: child 3212 (imap) killed with signal 6 Aug 3 15:01:22 lisa dovecot: IMAP(scottz): file mail-cache-transaction.c: line 709 (mail_cache_add): assertion failed: (fixed_size == (unsigned int)-1 || fixed_size == data_size) Aug 3 15:01:22 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: IMAP(scottz): file mail-cache-transaction.c: line 709 (mail_cache_add): assertion failed: (fixed_size == (unsigned int)-1 || fixed_size == data_size) Aug 3 15:01:22 lisa dovecot: imap-login: Login: user=<scottz>, method=PLAIN, rip=::ffff:192.168.1.183, lip=::ffff:192.168.1.21 Aug 3 15:01:22 lisa dovecot: child 3214 (imap) killed with signal 6 Aug 3 15:01:22 lisa dovecot: child 3218 (imap) killed with signal 6
I believe this has to do with how the index files are written, with a 32bit or 64 bit offset. If you remove all the index files, etc from the mailbox when you switch between the two, or compile with the specific offset, it should work fine.
Well, shoot. If I remove the index files and let dovecot rebuild them, won't that lead to my users re-downloading their entire inboxes if they're using POP3?
Depends on how you have the UIDL format configured. Personally I use maildirs and have the format be the filenames so I can continue to use qmail-pop3d (for now). If you're using the default, yeah, I think that's a generated id.
Another option would be to recompile dovecot on the 64bit system with the --with-file-offset-size=32 instead of the RPMs. It is really an easy build. Personally, first I'd try removing the index files for my own account and see if my mail gets re-downloaded.
Please note that I've done very little on 64bit systems, so these are mostly guesses. But I have compiled with --with-file-offset-size=64 and had to remove my index files to avoid that crash.
-Scott