[Dovecot] v2.0.tip Panic: file index-storage.c: line 385 (index_storage_mailbox_open): assertion failed: (!box->opened)
Hi Timo,
I've tried to convert the Maildir from the first user:
/usr/local/libexec/dovecot/convert-tool j.doe@example.com
/srv/mail/1/70003/70008
maildir:/srv/mail/1/70003/70008/Maildir
mdbox:/srv/mail/1/70003/70008/mdbox
Panic: file index-storage.c: line 385 (index_storage_mailbox_open): assertion failed: (!box->opened)
Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0 [0xf7e7ef8b] -> /usr/local/lib/dovecot/libdovecot.so.0(default_error_handler+0) [0xf7e7f01b] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xf7e7f1ad] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_storage_mailbox_open+0x9a) [0xf7f333ed] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(dbox_mailbox_open+0x76) [0xf7f43cb6] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_open+0x7d) [0xf7edb915] -> /usr/local/libexec/dovecot/convert-tool [0x804a847] -> /usr/local/libexec/dovecot/convert-tool [0x804a996] -> /usr/local/libexec/dovecot/convert-tool(convert_storage+0x270) [0x804ad35] -> /usr/local/libexec/dovecot/convert-tool(main+0x333) [0x8049cc7] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xf7cfeb35] -> /usr/local/libexec/dovecot/convert-tool [0x8049901]
Aborted (core dumped)
The backtrace is attached.
Regards, Pascal
The trapper recommends today: deadbeef.0931510@localdomain.org
On Wed, 2009-11-11 at 10:31 +0100, Pascal Volk wrote:
Hi Timo,
I've tried to convert the Maildir from the first user: /usr/local/libexec/dovecot/convert-tool j.doe@example.com \
convert-tool is going away. dsync is the new way to do conversion. For example:
dsync -e 'dsync -r -O -o mail_location=maildir:~/Maildir'
This does a two-way sync between your primary storage and ~/Maildir. The -r means that you want to keep ~/Maildir read-only. That's just in case there are some bugs in dsync, because otherwise it does a two-way sync.
I suppose at some point I should make the command line also easier for conversion purposes. :)
On 11/11/2009 06:47 PM Timo Sirainen wrote:
convert-tool is going away. dsync is the new way to do conversion. For example:
dsync -e 'dsync -r -O -o mail_location=maildir:~/Maildir'
For the archive: I'm using virtual users, without system access. So I had to add '-u user' to both dsync commands. It was also necessary to set the permissions of the auth-userdb socket to 0666. Because each user has its own UID and GID per domain.
doveconf -n … service auth { unix_listener auth-userdb { mode = 438 } } …
@Timo dsync has written a few errors to the console:
dsync-src(user): Error: file_dotlock_open() failed with file /home/user/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.log: No such file or directory dsync-src(user): Error: Can't create mailbox INBOX: Internal error occurred. Refer to server log for more information. [2009-11-11 23:39:47] dsync-src(user): Error: Trying to open a non-listed mailbox with guid=d32126213b2cfb4a145d0000ea7ee395 dsync-src(user): Error: msg iteration failed: Couldn't open mailbox dsync-src(user): Error: Trying to open a non-listed mailbox with guid=d32126213b2cfb4a145d0000ea7ee395 dsync-src(user): Error: Trying to open a non-listed mailbox with guid=d32126213b2cfb4a145d0000ea7ee395 dsync-dest(user): Error: read() from proxy client failed: EOF [after pressing the return key I had my propmt back.]
There were only a few 'Debug: …' messages logged at 2009-11-11 23:39:47
Where can I specify the path separator? In the maildir was a folder like: Maildir/.INBOX.Lists.Dovecot In the mdbox is now this directory: mdbox/mailboxes/INBOX.Lists.Dovecot
I would have expected to find a structure like: mdbox/mailboxes/INBOX/Lists/Dovecot
Regards, Pascal
The trapper recommends today: beeffeed.0931523@localdomain.org
On 11/12/2009 12:42 AM Pascal Volk wrote:
On 11/11/2009 06:47 PM Timo Sirainen wrote:
example: dsync -e 'dsync -r -O -o mail_location=maildir:~/Maildir'
For the archive: I'm using virtual users, without system access. So I had to add '-u user' to both dsync commands. It was also necessary to set the permissions of the auth-userdb socket to 0666. Because each user has its own UID and GID per domain.
doveconf -n … service auth { unix_listener auth-userdb { mode = 438 } } …
Converting from one mailbox format to another one is now simple as never before. Assuming that the mail_location is set to mdbox:~/mdbox and before it was maildir:~/Maildir: execute: dsync convert maildir:~/Maildir
If you are root and want to covert the format of a mailbox from a virtual user (w/o) system access, execute: dsync -u john.doe@example.com maildir:~/Maildir
Don't forget to update your sieve rules when switching to dbox or mdbox. For example: fileinto "lists.dovecot"; becomes: fileinto "lists/dovecot";
Regards, Pascal
The trapper recommends today: cafefeed.0932303@localdomain.org
participants (2)
-
Pascal Volk
-
Timo Sirainen