Hello,
I'm converting my mailbox from Maildir to mdbox.. The Maildir is from an 1.2 server.
The new server is a virtual FreeBSD ZFS server. The conversion is not working, I'm getting either segfaults or the sync just quits with errors. I also did set with mmap_disable=yes. This didn't resolve the problem. How can I fix this?
The same conversion on a virtual ubuntu 14.04 box works with mentions of "filename has the wrong S value" and Corrupted index errors.
The FreeBSD errors and dovecot -n are included below:
dsync(vagrant): Error: read(./Maildir/cur/1296038598.29562.mail.micite.net,S=20542:2,Sa) failed: Cached message size smaller than expected (20542 < 20640, box=INBOX, UID=475) dsync(vagrant): Error: Maildir filename has wrong S value, renamed the file from ./Maildir/cur/1296038598.29562.mail.micite.net,S=20542:2,Sa to ./Maildir/cur/1296038598.29562.mail.micite.net,S=20640:2,Sa dsync(vagrant): Error: Corrupted index cache file ./Maildir/dovecot.index.cache: Broken physical size for mail UID 475 dsync(vagrant): Error: write(/home/vagrant/mdbox/storage/m.12) failed: Invalid argument dsync(vagrant): Error: copy: i_stream_read(./Maildir/cur/1296038598.29562.mail.micite.net,S=20542:2,Sa) failed: Cached message size smaller than expected (20542 < 20640, box=INBOX, UID=475) dsync(vagrant): Error: read(./Maildir/cur/1296038598.29562.mail.micite.net,S=20542:2,Sa) failed: Cached message size smaller than expected (20542 < 20640, box=INBOX, UID=475) (uid=475, box=INBOX) dsync(vagrant): Error: Mailbox INBOX: read(msg input) failed: Cached message size smaller than expected (20542 < 20640, box=INBOX, UID=475) dsync(vagrant): Error: read(./Maildir/cur/1296038598.29562.mail.micite.net,S=20542:2,Sa) failed: Cached message size smaller than expected (20542 < 20640, box=INBOX, UID=475) (uid=475, box=INBOX) dsync(vagrant): Panic: file mail-index-transaction-update.c: line 964 (mail_index_update_ext): assertion failed: (seq > 0 && (seq <= mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq)) Abort (core dumped)
(gdb) core doveadm.core Core was generated by `doveadm'. Program terminated with signal 6, Aborted. #0 0x00000008013f8a1a in ?? () (gdb) bt #0 0x00000008013f8a1a in ?? () #1 0x00000008013f7149 in ?? () #2 0x0000000000000000 in ?? ()
or with no core dump:
% doveadm sync maildir:./Maildir dsync(vagrant): Error: read(./Maildir/cur/1296466748.64525.mail.micite.net,S=7629:2,Sa) failed: Cached message size smaller than expected (7629 < 7694, box=INBOX, UID=899) dsync(vagrant): Error: Maildir filename has wrong S value, renamed the file from ./Maildir/cur/1296466748.64525.mail.micite.net,S=7629:2,Sa to ./Maildir/cur/1296466748.64525.mail.micite.net,S=7694:2,Sa dsync(vagrant): Error: Corrupted index cache file ./Maildir/dovecot.index.cache: Broken physical size for mail UID 899 dsync(vagrant): Error: write(/home/vagrant/mdbox/storage/m.11) failed: Invalid argument dsync(vagrant): Error: copy: i_stream_read(./Maildir/cur/1296466748.64525.mail.micite.net,S=7629:2,Sa) failed: Cached message size smaller than expected (7629 < 7694, box=INBOX, UID=899) dsync(vagrant): Error: read(./Maildir/cur/1296466748.64525.mail.micite.net,S=7629:2,Sa) failed: Cached message size smaller than expected (7629 < 7694, box=INBOX, UID=899) (uid=899, box=INBOX) dsync(vagrant): Error: Mailbox INBOX: read(msg input) failed: Cached message size smaller than expected (7629 < 7694, box=INBOX, UID=899) dsync(vagrant): Error: read(./Maildir/cur/1296466748.64525.mail.micite.net,S=7629:2,Sa) failed: Cached message size smaller than expected (7629 < 7694, box=INBOX, UID=899) (uid=899, box=INBOX)
% dovecot -n # 2.2.16: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 10.1-RELEASE-p6 amd64 mail_location = mdbox:~/mdbox namespace { inbox = yes location = prefix = separator = . } passdb { args = /usr/local/etc/dovecot/conf.d/dovecot-sql.conf.ext driver = sql } protocols = lmtp imap service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } user = vmail } ssl = required ssl_cert =