Hi,
I have two servers that share nothing, running dovecot version 2.2.9. The first server hosts the original mail base, which I want to sync using dovecot to the second server. With some trial and error I managed to get synchronisation running using tcp sockets. Now for some accounts I see dsync-local crashing on the server that has the original mail base (which is still the only of the two that receives new mail). The log shows:
Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Panic: file mail-index-tr ansaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: (u32 .offset + u32.size <= ext_hdr_size) Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x70ea0) [0x7f3ee4137ea0] -> /usr/lib64/dovecot/libdovecot.so.0(+0x70efe) [0x7f3ee4137efe] -> /usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f3ee40ebd2c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_export+0xbed) [0x7f3ee442e89d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x89104) [0x7f3ee442d104] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0xb2) [0x7f3ee442d592] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit+0xc) [0x7f3ee442d63c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_sync_commit+0xb6) [0x7f3ee44372b6] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x335d6) [0x7f3ee43d75d6] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x328bc) [0x7f3ee43d68bc] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x32d83) [0x7f3ee43d6d83] -> /usr/lib64/dovecot/libdovecot-storage.so.0(maildir_storage_sync_init+0xd9) [0x7f3ee43d7199] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x2e) [0x7f3ee43e7f2e] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync+0x27) [0x7f3ee43e8047] -> dovecot/doveadm-server(dsync_brain_master_send_mailbox+0xcf) [0x41f17f] -> dovecot/doveadm-server(dsync_brain_run+0x2c8) [0x41d738] -> dovecot/doveadm-server() [0x41dd70] -> dovecot/doveadm-server() [0x42eda0] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f3ee41495a6] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] -> dovecot/doveadm-server() [0x41bb6c] -> dovecot/doveadm-server() [0x40ee3b] -> dovecot/doveadm-server() [0x419581] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f3ee41495a6] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f3ee40f1643] Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Fatal: master: service(doveadm): child 14116 killed with signal 6 (core dumps disabled)
It seems that despite these crashes, some data is being transferred. Newer accounts seem not to have problems, this happens with older accounts only, for as far as I can see. I tried removing the index files, but that didn't seem to help.
Any ideas on what I can do here? Both servers are configured to use maildir storage.
Thanks, Fabian
-- Fabian Groffen Gentoo on a different level