Fabian Groffen
2013-Dec-08 15:26 UTC
[Dovecot] dsync-local crashes due to assertion failures
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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20131208/47142e33/attachment.bin>
Fabian Groffen
2013-Dec-30 11:34 UTC
[Dovecot] dsync-local crashes due to assertion failures
On 08-12-2013 16:26:15 +0100, Fabian Groffen wrote:> 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)Turns out I didn't remove all index files. After I did (dovecot.index + dovecot.list.index) the assertion has gone away. Interesting side-note: after removal of the indices, some of my mailboxes showed new emails from long ago, that I hadn't seen previously. Now, from the first look and sizes, synchronisation seems to have succeeded after a night. -- Fabian Groffen Gentoo on a different level -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20131230/9bf3967c/attachment.bin>
Possibly Parallel Threads
- Panic: file mail-index-transaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: (u32.offset + u32.size <= ext_hdr_size)
- Dovecot, IMAP, and mutt
- phantom new mail (mailboxes keep on being reported as having new mail)
- Panic/backtrace in dovecot 2.2.13
- imap abort after upgrade from 2.2.4 to 2.2.7