migration from cyrus; seg fault at mail_namespaces_get_root_sep

vstargben at gmail.com vstargben at gmail.com
Sun Jul 31 10:20:53 UTC 2016


Hi all,

I am currently trying to migrate from cyrus to dovecot on a new system. 
Though only few accounts, I decided to use the mdbox format.
To convert I use cyrus2dovecot first, then I use dsync to import the 
mailboxes.
For compatibility I set the namespace of inbox to prefix = INBOX. and 
separator = .  (as described here: 
http://wiki2.dovecot.org/Migration/Cyrus 
http://wiki.dovecot.org/Namespaces).
This works except that the clients (mutt and Thunderbird) show an 
additional folder/mailbox "INBOX" below the inbox. How can I fix that? 
Should I add a prefix during conversion and not change the namespace 
config? On disk, the subfolders are next to INBOX.

Well, I then tried to set list = children instead of "yes" for namespace 
inbox. On login a segfault occurs with this setting. See the information 
and backtrace below.

Regards,
Vincent

###########################################################

linux-server2:~ # dovecot --version
2.2.25 (7be1766)
linux-server2:~ # dovecot -n
# 2.2.25 (7be1766): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.15 (97b3da0)
# OS: Linux 4.1.21-14-default x86_64 openSUSE 42.1 (x86_64) btrfs
base_dir = /data/mail/dovecot/
disable_plaintext_auth = no
mail_debug = yes
mail_gid = dovecot
mail_location = mdbox:/data/mail/dovecot/maildat/%u
mail_privileged_group = dovecot
mail_uid = dovecot
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date index ihave
duplicate mime foreverypart extracttext
namespace inbox {
   inbox = yes
   list = children
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix = INBOX.
   separator = .
}
passdb {
   driver = pam
}
plugin {
   sieve = file:~/sieve;active=~/.dovecot.sieve
}
protocols = imap lmtp
ssl = no
ssl_dh_parameters_length = 2048
ssl_options = no_compression
ssl_prefer_server_ciphers = yes
userdb {
   driver = passwd
}


################################################################


GNU gdb (GDB; openSUSE Leap 42.1) 7.9.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/dovecot/imap...Reading symbols from 
/usr/lib/debug/usr/lib/dovecot/imap.debug...done.
done.
[New LWP 8366]
Core was generated by `dovecot/imap'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  mail_namespaces_get_root_sep (namespaces=0x0) at mail-namespace.c:601
601     mail-namespace.c: Datei oder Verzeichnis nicht gefunden.
Missing separate debuginfos, use: zypper install 
glibc-debuginfo-2.19-19.1.x86_64
(gdb) bt full
#0  mail_namespaces_get_root_sep (namespaces=0x0) at mail-namespace.c:601
No locals.
#1  0x0000559bfb1792a5 in cmd_list_ref_root (ref=0x559bfd155d78 "", 
client=0x559bfd155020) at cmd-list.c:324
         ns = 0x0
         ns_prefix = 0x559bfb1963ea ""
         ns_sep = <optimized out>
         str = <optimized out>
#2  cmd_list_full (cmd=0x559bfd155c00, lsub=<optimized out>) at 
cmd-list.c:461
         client = 0x559bfd155020
         args = 0x559bfd1289b8
         list_args = 0x7f02a7ab0093 <t_malloc0+35>
         arg_count = 21915
         patterns = {arr = {buffer = 0x559bfd155d88, element_size = 8}, 
v = 0x559bfd155d88, v_modifiable = 0x559bfd155d88}
         ref = 0x559bfd155d78 ""
         pattern = 0x559bfd155d80 ""
         str = <optimized out>
#3  0x0000559bfb1818ed in command_exec (cmd=cmd at entry=0x559bfd155c00) at 
imap-commands.c:180
         hook = 0x559bfd125110
         finished = <optimized out>
         cmd_start_timeval = {tv_sec = 1469732468, tv_usec = 662738}
         cmd_start_bytes_in = 29
         cmd_start_bytes_out = 746
         __FUNCTION__ = "command_exec"
#4  0x0000559bfb17fe4f in client_command_input 
(cmd=cmd at entry=0x559bfd155c00) at imap-client.c:969
         client = 0x559bfd155020
         command = <optimized out>
         __FUNCTION__ = "client_command_input"
#5  0x0000559bfb17fedf in client_command_input (cmd=0x559bfd155c00) at 
imap-client.c:1029
         client = 0x559bfd155020
         command = <optimized out>
         __FUNCTION__ = "client_command_input"
#6  0x0000559bfb180285 in client_handle_next_command 
(remove_io_r=<synthetic pointer>, client=0x559bfd155020) at 
imap-client.c:1069
No locals.
#7  client_handle_input (client=client at entry=0x559bfd155020) at 
imap-client.c:1081
         _data_stack_cur_id = 3
         remove_io = false
         handled_commands = true
         __FUNCTION__ = "client_handle_input"
#8  0x0000559bfb180785 in client_input (client=0x559bfd155020) at 
imap-client.c:1128
         cmd = 0x559bfd136130
         output = 0x559bfd155a40
         bytes = 36
---Type <return> to continue, or q <return> to quit---
         __FUNCTION__ = "client_input"
#9  0x00007f02a7ac49dc in io_loop_call_io (io=0x559bfd155b10) at 
ioloop.c:564
         ioloop = 0x559bfd124740
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#10 0x00007f02a7ac5ce7 in io_loop_handler_run_internal 
(ioloop=ioloop at entry=0x559bfd124740) at ioloop-epoll.c:220
         ctx = 0x559bfd126260
         list = 0x559bfd127c90
         io = <optimized out>
         tv = {tv_sec = 1799, tv_usec = 999471}
         events_count = <optimized out>
         msecs = <optimized out>
         ret = 1
         i = 0
         call = <optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#11 0x00007f02a7ac4a65 in io_loop_handler_run 
(ioloop=ioloop at entry=0x559bfd124740) at ioloop.c:612
No locals.
#12 0x00007f02a7ac4c18 in io_loop_run (ioloop=0x559bfd124740) at 
ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#13 0x00007f02a7a5a1e3 in master_service_run (service=0x559bfd1245e0, 
callback=<optimized out>) at master-service.c:640
No locals.
#14 0x0000559bfb173eb2 in main (argc=1, argv=0x559bfd124390) at main.c:460
         set_roots = {0x559bfb39c520 <imap_setting_parser_info>, 
0x7f02a8274b20 <lda_setting_parser_info>, 0x0}
         login_set = {auth_socket_path = 0x559bfd11c050 
"\210\300\021\375\233U", postlogin_socket_path = 0x0, 
postlogin_timeout_secs = 60,
           callback = 0x559bfb18cbd0 <login_client_connected>, 
failure_callback = 0x559bfb18c560 <login_client_failed>, 
request_auth_token = 1}
         service_flags = <optimized out>
         storage_service_flags = <optimized out>
         username = 0x0
         auth_socket_path = 0x559bfb19530e "auth-master"
         c = <optimized out>
(gdb)


More information about the dovecot mailing list