64bit capability bug

Alex Deiter tiamat at komi.mts.ru
Fri Dec 31 02:22:38 EST 2004


Henrique de Moraes Holschuh wrote:

>>>Cyrus IMAP on 64bit arch incorrectly interprets defaults numerical 
>>>parameters of a imapd.conf: all of them are equal to zero!
>>Can't confirm on alpha, gcc 3.3.5:
> And while I haven't tried with 2.2, Debian has 2.1 compiled for at least
> ia64, alpha and amd64. It is also possible that the hppa and sparc ports are
> 64bit nowadays, too.

Alpha, IA64, AMD64 is (like i386) a little endian machine. Sparc and 
HPPA is big endian.

Cyrus-IMAP 2.1.x and 2.2.x (up to 2.2.3) work fine on sparc64. After 
2.2.4 (on 2.2.10) i got error:

Dec 27 21:23:19 satira nntp[24755]: DBERROR db4: PANIC: fatal region 
error detected; run recovery
Dec 27 21:23:19 satira nntp[24755]: DBERROR: critical database situation
Dec 27 21:23:19 satira master[24747]: service nntp pid 24755 in READY 
state: terminated abnormally

Changelog:
* Added berkeley_locks_max, berkeley_txns_max and berkeley_cachesize 
options.

by default:
berkeley_cachesize: 512
berkeley_locks_max: 50000
berkeley_txns_max: 100

but Cyrus IMAP on 64bit bgendian incorrectly interprets defaults 
numerical parameters of a imapd.conf: all of them are equal to zero!

if i add in my imapd.conf:

berkeley_cachesize: 512
berkeley_locks_max: 50000
berkeley_txns_max: 100

cyrus imap starts to work well!

quick patch:

--- lib/imapopts.h.orig Fri Dec 31 10:19:47 2004
+++ lib/imapopts.h      Fri Dec 31 10:20:13 2004
@@ -200,9 +200,9 @@

         const char *s;

-       int i;
+       long i;

-       int b;
+       long b;

         enum enum_value e;


Thanks a lot!

--
Alex Deiter
---
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




More information about the Info-cyrus mailing list