Timo,
Attached is gdb information from core dumps related to the following assert in test-80:
IMAP(username): file mbox-sync-update.c: line 442 (mbox_sync_update_header_from): assertion failed: (ctx->mail.uid == 0 || ctx->mail.uid_broken || ctx->mail.uid == mail->uid)
My setup: Solaris 9, mbox format. test-80 compiled with gcc 4.0.1 using the following configure options:
CC=gcc CFLAGS="-g -O" CPPFLAGS=-I/opt/openssl/include LDFLAGS=-L/opt/openssl/lib
./configure --prefix=/opt/dovecot.test80 --with-ssl=openssl
--with-ssldir=/opt/openssl/ssl --with-rawlog --enable-debug
Note that system mailboxes are NFS mounted from the mail server to the IMAP server, which may cause you to groan.
The attached debug session was done with gdb 6.3, also compiled with gcc 4.0.1. Note that some of the variables I queried were undefined (or otherwise unknown to gdb). The variable "first_nonexpunged" at line 470 of mbox-sync-rewrite.c is undefined, and I wondered why it was scoped so locally. The value of mails[idx] being undefined at mbox-sync-rewrite.c:353 also seems like bad news.
Hope this helps.
Jeff Earickson Colby College