On Thu, 31 Jan 2013 18:49:18 +0200 Timo Sirainen <tss@iki.fi> wrote:
http://hg.dovecot.org/dovecot-2.2/rev/86629f621fe4 should fix this crash.
The duplication happens because maildir somehow messes up itself. I guess I should look into it.
thanks, much appreciated!
test 3: mdbox again, append 1000 messages with claws mail, but have thunderbird connected at the same time to both accounts while doing so. this leads to the same problem as before (duplication, errors). I guess thunderbird wants to set a seen flag and modifying the mailbox while it's being synced is probably is a bad idea, but you never know what users are going to do :-)
Jan 31 17:13:11 doco1 dovecot: dsync-local(user1): Error: Mailbox INBOX: Remote didn't send mail GUID=33dabe0f11980a51200c0000960042f4 (UID=104)
All of the clients and changes are done only to one side, not to both sides?
In my previous tests I had thunderbird connected to both servers, without actually doing anything, just watching the mailbox unread counter go up. It could be it tried to update both mailboxes. I don't know what thunderbird does in the background when you're not actually clicking on a mailbox. The errors were visible in both maillogs (server1 and server2).
But I can reproduce the problem by connecting only to server1, in that case, the errors show up in server1's log only:
the current test scenario looks like:
- both servers empty mail store, configuration set to mdbox
- start server 1
- start server 2
- connect claws mail to server1
- connect thunderbird to server1 too
- in claws mail copy a few hundred mails from a remote box to server1
- I can see the unread counter go up in thunderbird
- "Remote didn't send mail" errors start popping up, but only in server1's maillog this time
- mails are duplicated
in one testrun I also saw the assert failure below, but again, I can't reproduce this one :
Jan 31 18:10:11 doco1 dovecot: doveadm: Error: dsync-remote(user1): Panic: file dsync-mailbox-import.c: line 1080 (dsync_mailbox_import_change): assertion failed: (change->type == DSYNC_MAIL_CHANGE_TYPE_SAVE) Jan 31 18:10:11 doco1 dovecot: doveadm: Error: dsync-remote(user1): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x5ce8a) [0x7f0ac3602e8a] -> /usr/lib64/dovecot/libdovecot.so.0(default_fatal_handler+0x32) [0x7f0ac3602f72] -> /usr/lib64/dovecot/libdovecot.so.0(+0x1f55a) [0x7f0ac35c555a] -> /usr/bin/doveadm(dsync_mailbox_import_change+0x501) [0x42c631] -> /usr/bin/doveadm(dsync_brain_sync_mails+0x3a2) [0x4290a2] -> /usr/bin/doveadm(dsync_brain_run+0x169) [0x425e09] -> /usr/bin/doveadm() [0x426360] -> /usr/bin/doveadm() [0x434780] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f0ac3611a16] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f0ac3612aa7] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f0ac36119b8] -> /usr/bin/doveadm() [0x424114] -> /usr/bin/doveadm() [0x40fe4f] -> /usr/bin/doveadm() [0x41067d] -> /usr/bin/doveadm(doveadm_mail_try_run+0x141) [0x410ba1] -> /usr/bin/doveadm(main+0x3f1) [0x417ba1] -> /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f0ac3231cdd] -> /usr/bin/doveadm() [0x40f839]
-- message transmitted on 100% recycled electrons