Hi,
i try to migrate mails from a non dovecot imap server to a dovecot imap server with doveadm backup as described there:
http://wiki2.dovecot.org/Migration/Dsync
i first tried (local-mailbox port 18143 is the non dovecot imap server):
/usr/bin/doveadm -o imapc_user=user@example.org -o imapc_password=imappw -o imapc_host=local-mailbox -o imapc_features=rfc822.size -o imapc_port=18143 -o mailbox_list_index=no -v -D backup -R -f -u user@example.org -m Sent imapc:
and got the following error:
dsync(user@example.org): Fatal: dsync backup: Looks like you're trying to run backup in wrong direction. Source is empty and destination is not.
As the dovecot imap account is newly created and therefore empty it seams to try to backup from the dovecot imap server to the non dovecot imap server. So i tried instead:
/usr/bin/doveadm -o imapc_user=user@example.org -o imapc_password=imappw -o imapc_host=local-mailbox -o imapc_features=rfc822.size -o imapc_port=18143 -o mailbox_list_index=no -v -D backup -f -u user@example.org -m Sent imapc:
Sometimes (every other time?) i got the following segmentation fault:
bt #0 0x00007f15e2c9ed74 in strcasecmp () from /lib/libc.so.6 #1 0x00007f15e327eaff in imapc_save_callback (reply=0x7fff56096a70, context=<value optimized out>) at imapc-save.c:168 #2 0x00007f15e32853fe in imapc_command_reply_free (conn=0x72f040) at imapc-connection.c:946 #3 imapc_connection_input_tagged (conn=0x72f040) at imapc-connection.c:1039 #4 0x00007f15e3285668 in imapc_connection_input_one (conn=0x72f040) at imapc-connection.c:1085 #5 imapc_connection_input_pending (conn=0x72f040) at imapc-connection.c:1407 #6 0x00007f15e3285922 in imapc_connection_input (conn=0x72f040) at imapc-connection.c:1100 #7 0x00007f15e2fe6176 in io_loop_call_io (io=0x792510) at ioloop.c:379 #8 0x00007f15e2fe71ff in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:213 #9 0x00007f15e2fe6118 in io_loop_run (ioloop=0x7529a0) at ioloop.c:398 #10 0x00007f15e3281e49 in imapc_client_run_pre (client=0x7333e0) at imapc-client.c:142 #11 imapc_client_run (client=0x7333e0) at imapc-client.c:161 #12 0x00007f15e3280f24 in imapc_storage_run (storage=0x732bd0) at imapc-storage.c:118 #13 0x00007f15e327f003 in imapc_save_append (_ctx=0x74dcb0) at imapc-save.c:232 #14 imapc_save_finish (_ctx=0x74dcb0) at imapc-save.c:255 #15 0x00007f15e1bf06a1 in quota_save_finish (ctx=0x74dcb0) at quota-storage.c:227 #16 0x00007f15e3292487 in mailbox_save_finish (_ctx=0x7f15e2d4ca40) at mail-storage.c:1669 #17 0x000000000042b736 in local_worker_save_msg_continue (worker=0x73c770) at dsync-worker-local.c:1681 #18 0x000000000042b98c in local_worker_msg_save (_worker=0x73c770, msg=0x7f15e38e4298, data=0x7fff56096db0, callback=0x4269f0 <msg_save_callback>, context=0x78a610) at dsync-worker-local.c:1739 #19 0x000000000042b0d9 in dsync_worker_msg_save (worker=0x73c770, msg=<value optimized out>, data=0x7fff56096db0, callback=0x4269f0 <msg_save_callback>, context=0x78a610) at dsync-worker.c:234 #20 0x0000000000426ac5 in msg_get_callback (result=<value optimized out>, data=0x7fff56096db0, context=0x78a610) at dsync-brain-msgs-new.c:79 #21 0x000000000042dca9 in local_worker_msg_get_next (worker=0x726f30, get=0x7fff56096e00) at dsync-worker-local.c:1844 #22 0x000000000042def8 in local_worker_msg_get (_worker=0x0, mailbox=<value optimized out>, uid=3805596224, callback=0x2670, context=0x58) at dsync-worker-local.c:1865 #23 0x000000000042ace6 in dsync_worker_msg_get (worker=0x726f30, mailbox=0x7f15e38e40f1, uid=1, callback=0x426a40 <msg_get_callback>, context=<value optimized out>) at dsync-worker.c:261 #24 0x000000000042689e in dsync_brain_msg_sync_add_new_msg (iter=0x7f15e38e41d8) at dsync-brain-msgs-new.c:181 #25 dsync_brain_mailbox_add_new_msgs (iter=0x7f15e38e41d8) at dsync-brain-msgs-new.c:216 #26 dsync_brain_msg_sync_add_new_msgs (iter=0x7f15e38e41d8) at dsync-brain-msgs-new.c:315 #27 0x0000000000426164 in dsync_brain_msg_sync_more (sync=0x7f15e38e4050) at dsync-brain-msgs.c:436 #28 0x0000000000424979 in dsync_brain_sync_msgs (brain=0x7351c0) at dsync-brain.c:736 #29 dsync_brain_sync (brain=0x7351c0) at dsync-brain.c:857 #30 0x0000000000425849 in dsync_brain_subs_list_finished (context=0x750fa0) at dsync-brain.c:169 #31 dsync_worker_subs_input (context=0x750fa0) at dsync-brain.c:222 #32 0x0000000000424cbd in dsync_brain_sync (brain=0x7351c0) at dsync-brain.c:842 #33 0x00000000004256bc in dsync_brain_mailbox_list_finished (context=0x743a60) at dsync-brain.c:98 #34 dsync_worker_mailbox_input (context=0x743a60) at dsync-brain.c:125 #35 0x0000000000424afe in dsync_brain_sync (brain=0x7351c0) at dsync-brain.c:833 #36 0x0000000000425568 in dsync_brain_sync_all (brain=0x7351c0) at dsync-brain.c:897 #37 0x0000000000422ad6 in cmd_dsync_start (ctx=0x706560, worker1=<value optimized out>, worker2=<value optimized out>) at doveadm-dsync.c:342 #38 0x0000000000422dfa in cmd_dsync_run (_ctx=0x706560, user=0x7209c0) at doveadm-dsync.c:387 #39 0x000000000040f888 in doveadm_mail_next_user (ctx=0x706560, input=<value optimized out>, error_r=0x7fff560973d0) at doveadm-mail.c:311 #40 0x0000000000410071 in doveadm_mail_cmd (cmd=0x704880, argc=7, argv=0x6fe418) at doveadm-mail.c:518 #41 0x0000000000410501 in doveadm_mail_try_run (cmd_name=0x6fe4e4 "backup", argc=1443460960, argv=0x4377c7) at doveadm-mail.c:577 #42 0x00000000004170d1 in main (argc=7, argv=0x6fe3e8) at doveadm.c:373
The other times it shows the following error message (It seams to connect both times to the non dovecot imap server):
doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message) doveadm(root): Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_lookup (this is usually intentional, so just ignore this message) doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined symbol: i_stream_create_deflate (this is usually intentional, so just ignore this message) doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_list_backend (this is usually intentional, so just ignore this message) doveadm(user@example.org): Debug: auth input: user@example.org home=/mail/dovecot/example.org/user uid=1000 gid=1000 quota_rule=*:bytes=2000M:messages=0 doveadm(user@example.org): Debug: Added userdb setting: plugin/quota_rule=*:bytes=2000M:messages=0 doveadm(user@example.org): Debug: Effective uid=1000, gid=1000, home=/mail/dovecot/example.org/user doveadm(user@example.org): Debug: Quota root: name=User quota backend=dict args=:proxy::quota doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=2097152000 messages=0 doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0 doveadm(user@example.org): Debug: Quota warning: bytes=1992294400 (95%) messages=0 reverse=no command=quota-warning 95 user@example.org doveadm(user@example.org): Debug: Quota warning: bytes=1677721600 (80%) messages=0 reverse=no command=quota-warning 80 user@example.org doveadm(user@example.org): Debug: dict quota: user=user@example.org, uri=proxy::quota, noenforcing=0 doveadm(user@example.org): Debug: fs: root=/mail/dovecot/example.org/user/mail, index=, control=, inbox=, alt= doveadm(user@example.org): Debug: Namespace : Using permissions from /mail/dovecot/example.org/user/mail: mode=0700 gid=-1 dsync(user@example.org): Debug: Effective uid=1000, gid=1000, home=/mail/dovecot/example.org/user dsync(user@example.org): Debug: Quota root: name=User quota backend=dict args=:proxy::quota dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=2097152000 messages=0 dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0 dsync(user@example.org): Debug: Quota warning: bytes=1992294400 (95%) messages=0 reverse=no command=quota-warning 95 user@example.org dsync(user@example.org): Debug: Quota warning: bytes=1677721600 (80%) messages=0 reverse=no command=quota-warning 80 user@example.org dsync(user@example.org): Debug: dict quota: user=user@example.org, uri=proxy::quota, noenforcing=0 dsync(user@example.org): Debug: imapc: root=, index=, control=, inbox=, alt= dsync(user@example.org): Debug: imapc(local-mailbox:18143): Looking up IP address dsync(user@example.org): Debug: imapc(local-mailbox:18143): Connecting to 10.10.10.10:18143 dsync(user@example.org): Debug: imapc(local-mailbox:18143): Server capabilities: IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticating as user@example.org dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticated successfully dsync(user@example.org): Debug: imapc(local-mailbox:18143): Looking up IP address dsync(user@example.org): Debug: imapc(local-mailbox:18143): Connecting to 10.10.10.10:18143 dsync(user@example.org): Debug: imapc(local-mailbox:18143): Server capabilities: IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticating as user@example.org dsync(user@example.org): Debug: imapc(local-mailbox:18143): Authenticated successfully dsync(user@example.org): Warning: Destination mailbox Sent has been modified, need to recreate it before we can continue syncing dsync(user@example.org): Warning: Mailbox changes caused a desync. You may want to run dsync again. dsync(user@example.org): Debug: imapc(local-mailbox:18143): Disconnected dsync(user@example.org): Debug: imapc(local-mailbox:18143): Disconnected
i think the problem could be that the account name on the remote server and the local server is absolute identical and doveadm backup has therefore problems discerning between the two locations. But that's only a stab in the dark and any help is appreciated.
Kind regards Reinhard