Cyrus IMAPd 2.3.7 Released

Gabor Gombas gombasg at
Wed Jul 12 09:45:27 EDT 2006

On Wed, Jul 12, 2006 at 05:02:10PM +0400, Дейтер Александр Валериевич wrote:

> Core was generated by
> `/home/devel/build/cyrus-imapd-2.3.7/imap/reconstruct -rf user.devel'.
> Program terminated with signal 10, Bus error.
> #0  0x0000000100011e04 in mailbox_write_index_header
> (mailbox=0xffffffff7fff3f70) at mailbox.c:1319
> 1319        *((bit64 *)(buf+OFFSET_HIGHESTMODSEQ_64)) =
> htonll(mailbox->highestmodseq);

Could you do a "p &buf" here? My guess would be that it is not 8-byte
aligned (because nobody told the compiler that it should be), and
therefore the code above generates an unaligned access, which explains
the bus error perfectly.

You can also try to replace



	union {
		char buf[INDEX_HEADER_SIZE];
		long long int dummy;
	} u;

to force the required alignment, and also replace every reference to
"buf" with "u.buf" inside the function. You may also use an unnamed
union and avoid the u.buf replaces if the Sun compiler supports unnamed


     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences

More information about the Info-cyrus mailing list