[Dovecot] pop3c migration?

Gedalya gedalya at gedalya.net
Sun Jul 21 14:06:36 EEST 2013


OK so now I tried a doveadm backup -R with pop3c using dovecot 2.2.4 
(50117c22151e) (auto build) and it works fine, and indeed very fast.

Funny, I ran into a segmentation fault by mistakenly passing 
pop3c_password instead of imapc_password, thought it would be worth posting.

I'm using the cutting-edge dovecot over NFS storing to the production 
server running 2.1.7. I'll be seeing "Corrupted index cache file .. 
Invalid magic in hole header" when every account logs in for the first 
time post-migration. Is this OK? I'm using Maildir.

Segfault:

Starting program: /usr/bin/doveadm -D -o imapc_user=xxxx at example.com -o 
pop3c_password=******* -o imapc_host=mail01.example.com import -s -u 
xxxx at example.com imapc: '' NOT mailbox INBOX
[Thread debugging using libthread_db enabled]
Using host libthread_db library 
"/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
doveadm(root): Debug: Loading modules from directory: 
/usr/lib/dovecot/modules
doveadm(root): Debug: Module loaded: 
/usr/lib/dovecot/modules/lib20_listescape_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_deinit (this is usually intentional, so 
just ignore this message)
doveadm(root): Debug: Skipping module doveadm_quota_plugin, because 
dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: 
undefined symbol: quota_user_module (this is usually intentional, so 
just ignore this message)
doveadm(root): Debug: Module loaded: 
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because 
dlopen() failed: 
/usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined 
symbol: fts_backend_rescan (this is usually intentional, so just ignore 
this message)
doveadm(root): Debug: Effective uid=0, gid=0, home=/root

Program received signal SIGSEGV, Segmentation fault.
imapc_storage_client_unref (_client=_client at entry=0x80c3130) at 
imapc-storage.c:256
256    imapc-storage.c: No such file or directory.
(gdb) bt full
#0  imapc_storage_client_unref (_client=_client at entry=0x80c3130) at 
imapc-storage.c:256
         client = 0x0
         cb = <optimized out>
         __FUNCTION__ = "imapc_storage_client_unref"
#1  0xb7ed4660 in imapc_list_deinit (_list=0x80c3028) at imapc-list.c:106
         list = 0x80c3028
#2  0xb7ef5c44 in mailbox_list_create (driver=driver at entry=0xb7f57ad2 
"imapc", ns=ns at entry=0x80c2f78, set=set at entry=0xbffff854, 
flags=MAILBOX_LIST_FLAG_NO_MAIL_FILES,
     list_r=list_r at entry=0xbffff844, error_r=error_r at entry=0xbffff928) 
at mailbox-list.c:184
         list = 0x80c3028
         idx = 6
         __FUNCTION__ = "mailbox_list_create"
#3  0xb7eedadb in mail_storage_create_full (ns=ns at entry=0x80c2f78, 
driver=<optimized out>, driver at entry=0x0, data=<optimized out>, 
flags=flags at entry=0, storage_r=storage_r at entry=0xbffff8cc,
     error_r=error_r at entry=0xbffff928) at mail-storage.c:356
         storage_class = 0xb7f8d060
         storage = 0x0
         list = 0xbffff880
         list_set = {layout = 0xb7f57ad2 "imapc", root_dir = 0x0, 
index_dir = 0x0, index_pvt_dir = 0x0, control_dir = 0x0, alt_dir = 0x0, 
inbox_path = 0x0, subscription_fname = 0x0,
           maildir_name = 0xb7f52fbc "", mailbox_dir_name = 0xb7f52fbc 
"", escape_char = 37 '%', broken_char = 0 '\000', utf8 = false, 
alt_dir_nocheck = false}
         list_flags = <optimized out>
         p = <optimized out>
         __FUNCTION__ = "mail_storage_create_full"
#4  0xb7eede35 in mail_storage_create (ns=ns at entry=0x80c2f78, 
driver=driver at entry=0x0, flags=flags at entry=0, 
error_r=error_r at entry=0xbffff928) at mail-storage.c:407
         storage = 0xb7eeddf0
#5  0xb7ee788f in mail_namespaces_init_location (user=0x80bef90, 
location=location at entry=0x80b12ab "imapc:", 
error_r=error_r at entry=0xbffff978) at mail-namespace.c:460
         inbox_set = 0x80bfd50
         unexpanded_inbox_set = 0x80bfd80
         ns = 0x80c2f78
         mail_set = 0x80bf638
         error = <optimized out>
         driver = <optimized out>
         location_source = <optimized out>
         default_location = <optimized out>
         __FUNCTION__ = "mail_namespaces_init_location"
#6  0x0805b072 in cmd_import_init (_ctx=0x80b4ed8, args=0x80b1200) at 
doveadm-mail-import.c:179
         ctx = 0x80b4ed8
         input = {module = 0x808e8e5 "mail", service = 0x0, username = 
0x8092f03 "doveadm", session_id = 0x0, local_ip = {family = 0, u = {ip6 
= {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>,
                   __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = 
{0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 
= {__in6_u = {
                   __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = 
{0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 
0}}}, local_port = 0, remote_port = 0,
           userdb_fields = 0x0, flags_override_add = 2056, 
flags_override_remove = MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP, 
no_userdb_lookup = 0}
         service_user = 0x80b8e90
         user = 0x80bef90
---Type <return> to continue, or q <return> to quit---
         src_location = 0x80b12ab "imapc:"
         error = 0x4 <Address 0x4 out of bounds>
#7  0x080575f8 in doveadm_mail_single_user (ctx=0x80b4ed8, 
input=0xbffffa6c, error_r=0xbffffa64) at doveadm-mail.c:328
         __FUNCTION__ = "doveadm_mail_single_user"
#8  0x08057c37 in doveadm_mail_cmd (argv=0x80b1200, argc=<optimized 
out>, cmd=0x80b4388) at doveadm-mail.c:516
         input = {module = 0x0, service = 0x8092f03 "doveadm", username 
= 0x80b1299 "xxxx at example.com", session_id = 0x0, local_ip = {family = 
0, u = {ip6 = {__in6_u = {
                   __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = 
{0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 
0}}}, remote_ip = {family = 0, u = {ip6 = {
                 __in6_u = {__u6_addr8 = '\000' <repeats 15 times>, 
__u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, 
ip4 = {s_addr = 0}}}, local_port = 0, remote_port = 0,
           userdb_fields = 0x0, flags_override_add = 0, 
flags_override_remove = 0, no_userdb_lookup = 0}
         ctx = 0x80b4ed8
         getopt_args = <optimized out>
         ret = <optimized out>
         c = <optimized out>
         wildcard_user = 0x0
         error = <optimized out>
#9  doveadm_mail_try_run (cmd_name=cmd_name at entry=0x80b128c "import", 
argc=argc at entry=9, argv=argv at entry=0x80b11f0) at doveadm-mail.c:608
         cmd = 0x80b4388
#10 0x08056b26 in main (argc=9, argv=0x80b11f0) at doveadm.c:398
         cmd_name = <optimized out>
         i = <optimized out>
         quick_init = false
         c = <optimized out>





More information about the dovecot mailing list