[Dovecot] 1.1rc5 Panic: mailbox-tree.c: line 171 (mailbox_tree_iterate_set_next_node)
Hi, I do hope this hasn't been covered. I googled and looked in the archives but didn't see anything related, so hopefully I am not covering old ground.
I recently upgraded from 1.0.10 to 1.1rc5.
I am seeing this error from clients:
May 25 11:01:54 finity dovecot: Panic: IMAP(xxx@here.org): file mailbox-tree.c: line 171 (mailbox_tree_iterate_set_next_node): assertion failed: (len <= ctx->parent_pos)
May 25 10:21:19 finity dovecot: IMAP(xxx@here.org): Raw backtrace: imap [0x80ced44] -> imap [0x80ce99a] -> imap [0x80a0c63] -> imap(maildir_list_iter_next+0x33) [0x806ba53] -> imap [0x805c49b] -> imap(cmd_list_full+0x4b2) [0x805d1d2] -> imap(cmd_lsub+0x1a) [0x805d55a] -> imap [0x805f83c] -> imap [0x805f8e5] -> imap [0x80600c5] -> imap(client_input+0x5e) [0x80602ce] -> imap(io_loop_handler_run+0x110) [0x80d6ad0] -> imap(io_loop_run+0x28) [0x80d5d28] -> imap(main+0x4a1) [0x8067e71] -> /lib/libc.so.6(__libc_start_main+0xe0) [0xb7de6450] -> imap [0x8059d61]
## In my old install, I did have mail_extra_groups = vmail
I commented that out and put in:
mail_access_groups = vmail mail_privileged_group = vmail
The documentation on these parameters is a bit light, so I'm not sure which (or both) to use. Can someone clarify? All the maildirs are owned by group vmail.
### dovecot -n # 1.1.rc5: /etc/dovecot/dovecot.conf ssl_cert_file: /etc/dovecot/ssl/certs/dovecot_cert.pem ssl_key_file: /etc/dovecot/ssl/private/dovecot_key.pem ssl_cipher_list: ALL:!LOW login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login login_greeting: IMAP ready. login_process_per_connection: no login_processes_count: 1 mail_access_groups: vmail mail_location: maildir:/home/vmail/%u maildir_copy_preserve_filename: yes mail_process_size: 70 auth default: mechanisms: plain cram-md5 login passdb: driver: sql args: /etc/dovecot/dovecot-mysql.cnf userdb: driver: passwd userdb: driver: static args: uid=5000 gid=5000 home=/home/vmail/%u/home socket: type: listen client: path: /var/spool/postfix/private/dovecot-auth-client mode: 432 user: postfix group: postfix
On May 25, 2008, at 8:30 PM, Jeffrey Rice wrote:
I am seeing this error from clients:
May 25 11:01:54 finity dovecot: Panic: IMAP(xxx@here.org): file
mailbox-tree.c: line 171 (mailbox_tree_iterate_set_next_node):
assertion failed: (len <= ctx->parent_pos)
Any idea how to reproduce this? Could you find out the exact LSUB
command that causes this? For example enable rawlog for the user: http://wiki.dovecot.org/Debugging/Rawlog
Also send me the user's subscriptions file. It most likely has to do
with what kind of a mailbox hierarchy is used..
I commented that out and put in:
mail_access_groups = vmail mail_privileged_group = vmail
The documentation on these parameters is a bit light, so I'm not
sure which (or both) to use. Can someone clarify? All the maildirs
are owned by group vmail.
You shouldn't need the above settings at all.
userdb: driver: static args: uid=5000 gid=5000 home=/home/vmail/%u/home
I assume gid=5000 is the vmail? That already gives vmail group access
to the process.
Timo Sirainen wrote:
On May 25, 2008, at 8:30 PM, Jeffrey Rice wrote:
I am seeing this error from clients:
May 25 11:01:54 finity dovecot: Panic: IMAP(xxx@here.org): file mailbox-tree.c: line 171 (mailbox_tree_iterate_set_next_node): assertion failed: (len <= ctx->parent_pos)
The command in question seems to be: 3 lsub "" "*"
## subscriptions Phil's Email.Beekeeping Phil's Email.Family Mail Phil's Email.Kaiperm Credit Union Phil's Email.Kiva Phil's Email.Rob and Jill INBOX.Sent INBOX.Trash INBOX.Drafts INBOX.Children International Phil's Email Sent Drafts Phil's Email.Kalamazoo College Phil's Email.New York Times Phil's Email.True Majority Trash .Sent.Sent-Dec-2006 .Sent.Sent-Jan-2007 .Sent.Sent-Feb-2007 .Sent.Sent-Mar-2007 Phil's Email.PayPal Phil's Email.Receipts Phil's Email.Amazon Phil's Email.Ancestry Sent.Sent-Dec-2007 ##EOF
Could it be the mailboxes with the dot prefix? I have another user who does not generate a crash with the same command, and does not have any such mailboxes.
I commented that out and put in:
mail_access_groups = vmail mail_privileged_group = vmail
The documentation on these parameters is a bit light, so I'm not sure which (or both) to use. Can someone clarify? All the maildirs are owned by group vmail.
You shouldn't need the above settings at all.
OK, so the gid parameter below will give dovecot rw access to the maildirs owned by vmail?
userdb: driver: static args: uid=5000 gid=5000 home=/home/vmail/%u/home
I assume gid=5000 is the vmail? That already gives vmail group access to the process.
Yes. I did wonder if I had an error here, because home=/home/vmail/%u.
I don't know where the last "/home" came from. Removing it didn't seem
to change the error.
Jeff
On May 25, 2008, at 9:23 PM, Jeffrey Rice wrote:
.Sent.Sent-Dec-2006 .Sent.Sent-Jan-2007 .Sent.Sent-Feb-2007 .Sent.Sent-Mar-2007 .. Could it be the mailboxes with the dot prefix? I have another user
who does not generate a crash with the same command, and does not
have any such mailboxes.
Yes, it's the dot prefix that causes the crashes. How did they get
there? It shouldn't be possible to subscribe to mailboxes beginning
with a dot. Did you do some kind of a migration that generated them?
Anyway I'll fix the crash.
participants (2)
-
Jeffrey Rice
-
Timo Sirainen