[Dovecot] do 1.1b4 assertion failed: (mailbox_list_is_valid_existing_name
I think this is where I left off last weekend. Instead of this happening at the base of one of my shared mail namespaces, it happens when I try to select a top level folder inside the namespace, or try to directly select an entire path to a folder. This only happens when ACL is enabled. Let me know if I need to provide more. Thanks.
Oct 27 16:03:27 gribble dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name)) Oct 27 16:03:27 gribble dovecot: child 51261 (imap) killed with signal 6
a0011 LIST "" "#shared/decs/backups/%" IMAP(mcdouga9): Info: acl vfile: file /usr/local/etc/dovecot-acls//.DEFAULT not found IMAP(mcdouga9): Info: acl vfile: file /home/mcdouga9/Maildir/dovecot-acl not found IMAP(mcdouga9): Info: acl vfile: file /usr/local/etc/dovecot-acls//.DEFAULT not found IMAP(mcdouga9): Info: acl vfile: reading file /egr/mail/shared/decs/dovecot-acl IMAP(mcdouga9): Panic: file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
Program received signal SIGABRT, Aborted. 0x00000008009c34bc in kill () from /lib/libc.so.6 (gdb) bt full #0 0x00000008009c34bc in kill () from /lib/libc.so.6 No symbol table info available. #1 0x00000008009c234d in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00000000004a1414 in default_fatal_handler (type=LOG_TYPE_PANIC, status=0, format=0x4bc930 "file %s: line %d (%s): assertion failed: (%s)", args=0x7fffffffda50) at failures.c:177 backtrace = 0x5f38c0 "\200T`" #3 0x00000000004a167b in i_panic (format=0x4bc930 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:211 args = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7fffffffdb40, reg_save_area = 0x7fffffffda80}} #4 0x0000000000429b07 in maildir_list_get_path (_list=0x603048, name=0x602900 "#shared/decs/receipts", type=MAILBOX_LIST_PATH_TYPE_MAILBOX) at mailbox-list-maildir.c:186 list = (struct maildir_mailbox_list *) 0x603048 __PRETTY_FUNCTION__ = "maildir_list_get_path" #5 0x000000000048e4e1 in mailbox_list_get_path (list=0x603048, name=0x602900 "#shared/decs/receipts", type=MAILBOX_LIST_PATH_TYPE_MAILBOX) at mailbox-list.c:265 No locals. #6 0x000000000048ce69 in mail_storage_get_mailbox_path (storage=0x5fdc48, name=0x602900 "#shared/decs/receipts", is_file_r=0x7fffffffdc07) at mail-storage.c:389 No locals. #7 0x0000000800b07720 in acl_backend_vfile_object_init () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #8 0x0000000800b08708 in acl_backend_vfile_acllist_rebuild () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #9 0x0000000800b08beb in acl_backend_vfile_acllist_refresh () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #10 0x0000000800b08ce2 in acl_backend_vfile_acllist_verify () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #11 0x0000000800b083a9 in acl_backend_vfile_object_refresh_cache () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #12 0x0000000800b07546 in acl_backend_get_default_rights () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #13 0x0000000800b0a9ed in acl_mailbox_list_iter_init () from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so No symbol table info available. #14 0x000000000048e85f in mailbox_list_iter_init_multiple (list=0x603048, patterns=0x5f4298, flags=MAILBOX_LIST_ITER_RETURN_CHILDREN) at mailbox-list.c:357 __PRETTY_FUNCTION__ = "mailbox_list_iter_init_multiple" #15 0x000000000041752c in list_namespace_init (ctx=0x60d0b0) at cmd-list.c:642 ns = (struct mail_namespace *) 0x5fd848 cur_ns_prefix = 0x5fd880 "#shared/decs/" cur_ref = 0x5f4318 "" pat = (const char * const *) 0x5f4298 pattern = 0x611178 "#shared/decs/backups/%" inbox_match = IMAP_MATCH_NO used_patterns = {arr = {buffer = 0x5f4260, element_size = 8}, v = 0x5f4260, v_modifiable = 0x5f4260} inboxcase = false #16 0x0000000000417738 in cmd_list_continue (cmd=0x60d048) at cmd-list.c:673 ctx = (struct cmd_list_context *) 0x60d0b0 ret = 1 #17 0x0000000000417e1c in cmd_list_full (cmd=0x60d048, lsub=false) at cmd-list.c:847 client = (struct client *) 0x602100 args = (const struct imap_arg *) 0x6110c0 arg = (const struct imap_arg *) 0x41bb68 ctx = (struct cmd_list_context *) 0x60d0b0 patterns = {arr = {buffer = 0x60d0f8, element_size = 8}, v = 0x60d0f8, v_modifiable = 0x60d0f8} pattern = 0x611178 "#shared/decs/backups/%" patterns_strarr = (const char * const *) 0x60d130 #18 0x0000000000417e8a in cmd_list (cmd=0x60d048) at cmd-list.c:862 No locals. #19 0x000000000041b0b2 in client_command_input (cmd=0x60d048) at client.c:505 client = (struct client *) 0x602100 __PRETTY_FUNCTION__ = "client_command_input" #20 0x000000000041b2b1 in client_command_input (cmd=0x60d048) at client.c:562 client = (struct client *) 0x602100 __PRETTY_FUNCTION__ = "client_command_input" #21 0x000000000041b3e2 in client_handle_next_command (client=0x602100) at client.c:598 size = 39 #22 0x000000000041b505 in client_input (client=0x602100) at client.c:633 cmd = (struct client_command_context *) 0x2005fe0a8 ret = 32767 __PRETTY_FUNCTION__ = "client_input" #23 0x00000000004ab987 in io_loop_handler_run (ioloop=0x5f3140) at ioloop-kqueue.c:149 ctx = (struct ioloop_handler_context *) 0x5fe0a0 events = (struct kevent *) 0x600000 event = (const struct kevent *) 0x600000 tv = {tv_sec = 9, tv_usec = 996738} ts = {tv_sec = 9, tv_nsec = 996738000} io = (struct io_file *) 0x5f36c0 events_count = 2 t_id = 2 msecs = 9997 ret = 1 i = 0 __PRETTY_FUNCTION__ = "io_loop_handler_run" #24 0x00000000004aaaa0 in io_loop_run (ioloop=0x5f3140) at ioloop.c:305 No locals. #25 0x000000000042525e in main (argc=1, argv=0x7fffffffe320, envp=0x7fffffffe330) at main.c:293 No locals.
On Sat, 2007-10-27 at 16:31 -0400, Adam McDougall wrote:
Oct 27 16:03:27 gribble dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
Are you using patched beta4 or all changes from hg? I thought http://hg.dovecot.org/dovecot/rev/1478fc5cf632 fixed this.
On Sat, Oct 27, 2007 at 11:38:58PM +0300, Timo Sirainen wrote:
On Sat, 2007-10-27 at 16:31 -0400, Adam McDougall wrote:
Oct 27 16:03:27 gribble dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
Are you using patched beta4 or all changes from hg? I thought http://hg.dovecot.org/dovecot/rev/1478fc5cf632 fixed this.
Patched beta4. I assumed beta4 contained all the patches you came up with for me that apply to b3, and I can confirm the patch you mention above is applied. Last weekend it allowed me to list the folders in the namespace, but it did, and still, crashes when trying to go further.
On Sat, 2007-10-27 at 16:31 -0400, Adam McDougall wrote:
Oct 27 16:03:27 gribble dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
OK, this should fix a lot of things: http://hg.dovecot.org/dovecot/rev/e1fde9940f7e
One bug with ACL plugin still is that if you have a "foo/bar" mailbox in a public namespace but no "foo", LIST "" % doesn't show "foo" as placeholder mailbox. This happens with v1.0 too I think. I'll try to get that fixed soon.
On Sun, Oct 28, 2007 at 01:57:52AM +0300, Timo Sirainen wrote:
On Sat, 2007-10-27 at 16:31 -0400, Adam McDougall wrote:
Oct 27 16:03:27 gribble dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
OK, this should fix a lot of things: http://hg.dovecot.org/dovecot/rev/e1fde9940f7e
No crashes yet, folder access seems fine so far. Thanks!
One bug with ACL plugin still is that if you have a "foo/bar" mailbox in a public namespace but no "foo", LIST "" % doesn't show "foo" as placeholder mailbox. This happens with v1.0 too I think. I'll try to get that fixed soon.
I've probably noticed this back when I moved some courier shared mailboxes to dovecot and created the placeholder mailboxes to satisfy the requirement. If later I don't need these folders it would be nice so I can clean up some directories and scripts, but I'll still need to be able to fake a subscription to them for the sake of some IMAP clients that display folders strangely when the entire path down to a subfolder is not subscribed. For example, squirrelmail can do shared folders, but if I have folders subscribed as below marked with *:
- some-private-folder
- some-private-folder/subfolder
- another-private-folder folderA
- folderA/In folderB
- folderB/In
Squirrelmail shows subscribed folders in tree form:
some-private-folder subfolder another-private-folder In In
I can definitely understand if this is felt to be something I should continue making folders for, just mentioning a particular need I would need still need to satisfy if these folders are not required by the acl plugin someday.
participants (2)
-
Adam McDougall
-
Timo Sirainen