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 = </etc/ssl/ec/ec.crt
ssl_key = </etc/ssl/ec/ec.key
userdb {
  args = /usr/local/etc/dovecot/conf.d/dovecot-sql.conf.ext
  driver = sql
}
protocol lmtp {
  postmaster_address = postmas...@micite.net
}

Reply via email to