[Dovecot] Crash while accessing mdbox folders

Matthias Rieber ml-dovecot at zu-con.org
Sun Jul 11 10:46:04 EEST 2010


  Hi,

I've converted some accounts with "dsync mirror maildir:~/Maildir". It 
seemed to work, but when I access the folders via IMAP I get the 
following error:

Jul 11 09:41:59 shrike dovecot: imap(matze): Debug: acl vfile: file 
/home/matze/mdbox/mailboxes/Telefon/dbox-Mails/dovecot-acl not found
Jul 11 09:41:59 shrike dovecot: imap(matze): Panic: file 
mailbox-list-fs.c: line 150 (fs_list_get_path): assertion failed: 
(mailbox_list_is_valid_pattern(_list, name))
Jul 11 09:41:59 shrike dovecot: imap(matze): Error: Raw backtrace: 
/usr/local/lib/dovecot/libdovecot.so.0 [0x2b344bcd2da2] -> 
/usr/local/lib/dovecot/libdovecot.so.0 [0x2b344bcd2e0a] -> 
/usr/local/lib/dovecot/libdovecot.so.0(i_error+0) [0x2
b344bcd31b3] -> /usr/local/lib/dovecot/libdovecot-storage.so.0 
[0x2b344ba2eb8d] -> /usr/local/lib/dovecot/lib01_acl_plugin.so 
[0x2b344c89c203] -> 
/usr/local/lib/dovecot/lib01_acl_plugin.so(acl_mailbox_list_have_right+0x71) 
[0x2b344c8a0291]
  -> /usr/local/lib/dovecot/lib01_acl_plugin.so [0x2b344c8a067c] -> 
/usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_next+0xa) 
[0x2b344b9fefaa] -> /usr/local/lib/dovecot/lib01_acl_plugin.so 
[0x2b344c89feba] -> /usr/local/lib
/dovecot/lib01_acl_plugin.so [0x2b344c8a0782] -> 
/usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_next+0xa) 
[0x2b344b9fefaa] -> /usr/local/lib/dovecot/lib01_acl_plugin.so 
[0x2b344c89feba] -> /usr/local/lib/dovecot/lib01_acl
_plugin.so [0x2b344c8a0782] -> /usr/local/lib/dovecot/libdovecot-stor
Jul 11 09:41:59 shrike dovecot: master: Error: service(imap): child 3174 
killed with signal 6 (core dumped)

Backtrace:

#0  0x00002b344c354ed5 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00002b344c3563f3 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00002b344bcd2db5 in default_fatal_finish (type=<value optimized 
out>, status=0) at failures.c:164
         backtrace = 0xa983760 "/usr/local/lib/dovecot/libdovecot.so.0 
[0x2b344bcd2da2] -> /usr/local/lib/dovecot/libdovecot.so.0 
[0x2b344bcd2e0a] -> /usr/local/lib/dovecot/libdovecot.so.0(i_error+0) 
[0x2b344bcd31b3] -> /usr/local/l"...
#3  0x00002b344bcd2e0a in i_internal_fatal_handler (type=LOG_TYPE_PANIC, 
status=0, fmt=<value optimized out>, args=<value optimized out>) at 
failures.c:593
No locals.
#4  0x00002b344bcd31b3 in i_panic (format=<value optimized out>) at 
failures.c:230
         args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 
0x7fff8edf67b0, reg_save_area = 0x7fff8edf66f0}}
#5  0x00002b344ba2eb8d in fs_list_get_path (_list=0xa9b4fc8, 
name=0xa983700 "Telefon/", type=MAILBOX_LIST_PATH_TYPE_MAILBOX) at 
mailbox-list-fs.c:150
         root_dir = <value optimized out>
         __FUNCTION__ = "fs_list_get_path"
#6  0x00002b344c89c203 in acl_backend_vfile_object_init 
(_backend=0xa9b57d8, name=0xa983700 "Telefon/") at acl-backend-vfile.c:171
         aclobj = (struct acl_object_vfile *) 0xa9d0660
         dir = <value optimized out>
#7  0x00002b344c8a0291 in acl_mailbox_list_have_right (list=0xa9b4fc8, 
name=0xa983700 "Telefon/", parent=false, acl_storage_right_idx=0, 
can_see_r=0x0) at acl-mailbox-list.c:63
         alist = (struct acl_mailbox_list *) 0xa9b5210
         backend = (struct acl_backend *) 0xc66
         aclobj = <value optimized out>
         ret = <value optimized out>
         ret2 = <value optimized out>
#8  0x00002b344c8a067c in acl_mailbox_list_iter_next (_ctx=<value 
optimized out>) at acl-mailbox-list.c:328
         _data_stack_cur_id = 7
         ctx = (struct acl_mailbox_list_iterate_context *) 0xa9cd900
         info = <value optimized out>
         ret = <value optimized out>
#9  0x00002b344b9fefaa in mailbox_list_iter_next (ctx=0xc66) at 
mailbox-list.c:1048
         info = <value optimized out>
#10 0x00002b344c89feba in iter_mailbox_has_visible_children 
(ctx=0xa9cd520, only_nonpatterns=false) at acl-mailbox-list.c:299
         iter = (struct mailbox_list_iterate_context *) 0xa9cd900
         info = (const struct mailbox_info *) 0x1002
         flags = 4098
         pattern = <value optimized out>
         prefix = 0xa983630 "Telefon..*"
         i = <value optimized out>
         prefix_len = 9
         stars = false
         ret = false
         __FUNCTION__ = "iter_mailbox_has_visible_children"
#11 0x00002b344c8a0782 in acl_mailbox_list_iter_next (_ctx=<value 
optimized out>) at acl-mailbox-list.c:332
         _data_stack_cur_id = 6
         ctx = (struct acl_mailbox_list_iterate_context *) 0xa9cd520
         info = <value optimized out>
         ret = 1
#12 0x00002b344b9fefaa in mailbox_list_iter_next (ctx=0xc66) at 
mailbox-list.c:1048
         info = <value optimized out>
#13 0x00002b344c89feba in iter_mailbox_has_visible_children 
(ctx=0xa9caec0, only_nonpatterns=false) at acl-mailbox-list.c:299
         iter = (struct mailbox_list_iterate_context *) 0xa9cd520
         info = (const struct mailbox_info *) 0x1002
         flags = 4098
         pattern = <value optimized out>
         prefix = 0xa9834d8 "Telefon.*"
         i = <value optimized out>
         prefix_len = 8
         stars = false
         ret = false
         __FUNCTION__ = "iter_mailbox_has_visible_children"
#14 0x00002b344c8a0782 in acl_mailbox_list_iter_next (_ctx=<value 
optimized out>) at acl-mailbox-list.c:332
         _data_stack_cur_id = 5
         ctx = (struct acl_mailbox_list_iterate_context *) 0xa9caec0
         info = <value optimized out>
         ret = 1
#15 0x00002b344b9fefaa in mailbox_list_iter_next (ctx=0xc66) at 
mailbox-list.c:1048
         info = <value optimized out>
#16 0x000000000040bd49 in cmd_list_continue (cmd=0xa9be4d8) at 
cmd-list.c:374
         _data_stack_cur_id = 4
         ctx = (struct cmd_list_context *) 0xa9be5d0
#17 0x000000000040cc17 in cmd_list_full (cmd=0xa9be4d8, lsub=false) at 
cmd-list.c:954
         client = (struct client *) 0xa9bdd78
         args = (const struct imap_arg *) 0xa9c0d70
         list_args = (const struct imap_arg *) 0xa9830f8
         arg_count = <value optimized out>
         ctx = (struct cmd_list_context *) 0xa9be5d0
         patterns = {arr = {buffer = 0xa9be620, element_size = 8}, v = 
0xa9be620, v_modifiable = 0xa9be620}
         pattern = 0xa9c0e28 "*"
         patterns_strarr = <value optimized out>
#18 0x000000000041038c in client_command_input (cmd=0xa9be4d8) at 
imap-client.c:652
         client = (struct client *) 0xa9bdd78
         command = <value optimized out>
         __FUNCTION__ = "client_command_input"
#19 0x000000000041043d in client_command_input (cmd=0xa9be4d8) at 
imap-client.c:702
         client = (struct client *) 0xa9bdd78
         command = (struct command *) 0x6
         __FUNCTION__ = "client_command_input"
#20 0x00000000004105b5 in client_handle_input (client=0xa9bdd78) at 
imap-client.c:743
         _data_stack_cur_id = 3
         ret = 19
         remove_io = <value optimized out>
         handled_commands = false
         __FUNCTION__ = "client_handle_input"
#21 0x0000000000410fe2 in client_input (client=0xa9bdd78) at 
imap-client.c:794
         cmd = <value optimized out>
         output = (struct ostream *) 0xa9be358
         bytes = <value optimized out>
         __FUNCTION__ = "client_input"
#22 0x00002b344bcddb0b in io_loop_handler_run (ioloop=<value optimized 
out>) at ioloop-epoll.c:212
         ctx = (struct ioloop_handler_context *) 0xa98b7f0
         event = (const struct epoll_event *) 0xa98b860
         list = (struct io_list *) 0xa9be430
         io = (struct io_file *) 0xa9be3f0
         tv = {tv_sec = 4, tv_usec = 998985}
         t_id = 2
         msecs = <value optimized out>
         ret = 1
         call = <value optimized out>
#23 0x00002b344bcdcc88 in io_loop_run (ioloop=0xa98b5e0) at ioloop.c:350
No locals.
#24 0x00002b344bccc703 in master_service_run (service=0xa98b4b0, 
callback=0xc66) at master-service.c:495
No locals.
#25 0x00000000004191a1 in main (argc=2, argv=0xa98b370) at main.c:358
         service_flags = <value optimized out>
         storage_service_flags = <value optimized out>
         postlogin_socket_path = 0xa983098 
"/usr/local/var/run/dovecot/postlogin"
         username = 0x0
         c = <value optimized out>
         set_roots = {0x41c3a0, 0x0}

Config:
# 2.0.rc2 (77f244924009): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-028stab069.6 x86_64 Debian 5.0.5
auth_master_user_separator = *
auth_username_format = %n
disable_plaintext_auth = no
listen = *
mail_debug = yes
mail_location = mdbox:~/mdbox
mail_plugins = virtual fts fts_squat zlib acl
managesieve_notify_capability = mailto
managesieve_sieve_capability = comparator-i;octet 
comparator-i;ascii-casemap fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex 
imap4flags copy include variables body enotify environment mailbox date 
spamtest spamtestplus virustest
namespace {
   hidden = yes
   inbox = no
   list = no
   location =
   prefix = mail
   separator =
   type = private
}
namespace {
   hidden = no
   inbox = yes
   location =
   prefix =
   separator = .
   type = private
}
namespace {
   hidden = yes
   inbox = no
   list = no
   location =
   prefix = INBOX.
   separator = .
   type = private
}
namespace {
   list = children
   location = mdbox:/home/%%n/mdbox:INDEX=~/mdbox.index/shared/%%u
   prefix = common.%%u.
   separator = .
   subscriptions = no
   type = shared
}
namespace {
   hidden = no
   list = yes
   location = virtual:~/Maildir/virtual
   prefix = virtual.
   separator = .
   subscriptions = yes
   type = private
}

passdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   driver = ldap
}
passdb {
   args = /etc/dovecot/passwd.masterusers
   driver = passwd-file
   master = yes
}
plugin {
   acl = vfile:/etc/dovecot/acls:cache_secs=7200
   acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes.db
   fts = squat
   fts_squat = partial=4 full=4
   sieve_dir = ~/Maildir/sieve
}
protocols = imap pop3 sieve
service imap {
   executable = imap postlogin
   vsz_limit = 1073741824
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
}
service postlogin {
   executable = script-login rawlog
}
ssl_cert = </etc/dovecot/imap.scheff32.de.pem
ssl_key = </etc/dovecot/imap.scheff32.de.key
userdb {
   args = system_groups_user=%u blocking=yes
   driver = passwd
}
protocol lda {
   mail_plugins = fts fts_squat zlib acl virtual sieve
}
protocol imap {
   mail_max_userip_connections = 32
   mail_plugins = $mail_plugins imap_acl
}
protocol sieve {
   mail_plugins = $mail_plugins sieve
}

Regards,
Matthias



More information about the dovecot mailing list