A solution : dsync(someuser) Error: Mailbox GUIDs are not permanent without index files

James Rogers waste at preternatural.net
Thu Jun 12 14:03:39 UTC 2014


While migrating from mbox to maildir using dsync, I kept running into
a brick wall. Some folders would not sync. The message in stderr was:
Error message GUID: Mailbox GUIDs are not permanent without index files.

This is what solved things for me. I hope this might help someone. Let
me know if I'm completely off sides.

When working with dsync to migrate from mbox to maildir format
mailboxes, I kept running into the error:
dsync(someuser): Error: Couldn't get mailbox Drafts GUID: Mailbox
GUIDs are not permanent without index files
dsync(someuser): Error: Couldn't get mailbox Junk E-mail1 GUID:
Mailbox GUIDs are not permanent without index files
dsync(soemuser): Error: Couldn't get mailbox TO DO LATER - US GUID:
Mailbox GUIDs are not permanent without index files
dsync(someuser): Error: Couldn't get mailbox Notes GUID: Mailbox GUIDs
are not permanent without index files
dsync(someuser): Error: Couldn't get mailbox Orders Pending GUID:
Mailbox GUIDs are not permanent without index files
dsync(someuser): Error: Couldn't get mailbox Junk E-mail GUID: Mailbox
GUIDs are not permanent without index files
dsync(someuser): Error: Couldn't get mailbox Server Mgmt+Config GUID:
Mailbox GUIDs are not permanent without index files

The error messages were helpful, but it would be nice to know what
prevented the creation of the indexes in the errors (permissions,
settings, disk space, etc.).

I finally figured it out semi-randomly when I dumped my doveconf file
using doveconf -n, and saw:

mbox_min_index_size = 100 k

I felt very um... happy? And not too bright.

The following made my problems go away, and the sync worked flawlessly.
mbox_min_index_size = 0

I guess it's best to set this using dsync -o'mbox_min_index_size=0'

Mail now converts quickly and completely even for 0 length mailboxes
(i.e. empty folders are created).

Also, I would like to note that mb2md.pl should not be used to convert
mbox to maildir. The regex used to split mboxes will fragment
messages. mb2md.pl uses:
if ( /^From /
And in the very least, the following would be less harmful:
if ( /^From\s+(\S+.*@\S+.*|MAILER.DAEMON)\s+.*$/


I love dovecot. I knew it must be something bone-headed I just wasn't seeing.

And now I can go get some rest.

--James W. Rogers


More information about the dovecot mailing list