[Dovecot] Panic: file mailbox-list-fs.c
Hi,
I have dovecot 2.0.3. Mailboxes have been converted with dsync from mbox to maildir last week. There it was still version 2.0.2.
A user "produces" now this error: imap(userx): Panic: file mailbox-list-fs.c: line 150 (fs_list_get_path): assertion failed: (mailbox_list_is_valid_pattern(_list, name)) Error: Raw backtrace: follows.
And all other imap processes are closing down. dovecot starts again.
master: Info: Dovecot v2.0.3 starting up
Additional mail_location = maildir:~/maildir:INDEX=/addons/index/%u:CONTROL=~/control:LAYOUT=fs
namespace { inbox = yes list = yes location = prefix = separator = / subscriptions = yes type = private }
Are there charachters which are not allowed or is there a reached a maximal length?
regards
-- Mit freundlichen Gruessen --- Burckhard Schmidt
On Tue, 2010-09-21 at 16:10 +0200, Burckhard Schmidt wrote:
A user "produces" now this error: imap(userx): Panic: file mailbox-list-fs.c: line 150 (fs_list_get_path): assertion failed: (mailbox_list_is_valid_pattern(_list, name))
There are lots of ways how the code could get here.
Error: Raw backtrace: follows.
This could have been useful in pointing out where it's being called. A gdb backtrace would be even better. http://dovecot.org/bugreport.html
Are there charachters which are not allowed or is there a reached a maximal length?
There is some invalid character somewhere, maybe in a subscriptions file. But it still shouldn't crash.
On 21.09.2010 17:48, Timo Sirainen wrote:
On Tue, 2010-09-21 at 16:10 +0200, Burckhard Schmidt wrote:
A user "produces" now this error: imap(userx): Panic: file mailbox-list-fs.c: line 150 (fs_list_get_path): assertion failed: (mailbox_list_is_valid_pattern(_list, name))
There are lots of ways how the code could get here.
Error: Raw backtrace: follows.
This could have been useful in pointing out where it's being called. A
imap(userx): Error: Raw backtrace: 0xff1574a8 -> 0xff1560e8 -> 0xff294fa4 -> 0xff23843c -> 0xfeca53bc -> 0xfeca5594 -> 0xfeca3ee4 -> 0xfecaf7a0 -> 0xfecb0450 -> 0xfecb06a4 -> 0xff2394e8 -> 0x1b644 -> 0x1ccb8 -> 0x1d638 -> 0x1d788 -> 0x23d60 -> 0x24070 -> 0x24204 -> 0x242a8 -> 0x244ac -> 0xff16d3c4 -> 0xff16bffc -> 0xff14b2e0 -> 0x343e0 -> 0x15b30 Sep 22 14:00:38 master: Error: service(imap): child 503 killed with signal 6 (core not dumped - set service imap { drop_priv_before_exec=yes })
We have found the reason which concerns dsync and dovecot I think.
There was a mbox folder "tmp": ~user/mail/tmp
This has been converted by dsync to maildir with following results: The folder "tmp" has been converted by dsync to "mail_tmp" and it lies directly under ~user/maildir containing cur/new/tmp as usual.
But the file "subscriptions" generated by dsync contains still mail/tmp.
At this point dovecot crashes when the user accesses to his mailbox. We tried imap list/lsub commands too. There was a difference if we used 1 lsub "mail" "%/%" it crashes, 1 lsub "mail/" "%/%" it does not.
I renamed the entry inside subscriptions from mail/tmp into mail_tmp and it works again.
-- Mit freundlichen Gruessen --- Burckhard Schmidt
On Wed, 2010-09-22 at 15:34 +0200, Burckhard Schmidt wrote:
Error: Raw backtrace: follows.
This could have been useful in pointing out where it's being called. A
imap(userx): Error: Raw backtrace: 0xff1574a8 -> 0xff1560e8 -> 0xff294fa4 -> 0xff23843c -> 0xfeca53bc -> 0xfeca5594 -> 0xfeca3ee4 -> 0xfecaf7a0 -> 0xfecb0450 -> 0xfecb06a4 -> 0xff2394e8 -> 0x1b644 -> 0x1ccb8 -> 0x1d638 -> 0x1d788 -> 0x23d60 -> 0x24070 -> 0x24204 -> 0x242a8 -> 0x244ac -> 0xff16d3c4 -> 0xff16bffc -> 0xff14b2e0 -> 0x343e0 -> 0x15b30
Nope, not useful at all. In Linux it's more useful. :) gdb backtrace would be nice though. I guess you could get it easily without core with:
gdb .../dovecot/imap <pid of imap process> cont <make it crash> bt full
This has been converted by dsync to maildir with following results: The folder "tmp" has been converted by dsync to "mail_tmp" and it lies directly under ~user/maildir containing cur/new/tmp as usual.
But the file "subscriptions" generated by dsync contains still mail/tmp.
I guess that's a bug..
- At this point dovecot crashes when the user accesses to his mailbox. We tried imap list/lsub commands too. There was a difference if we used 1 lsub "mail" "%/%" it crashes, 1 lsub "mail/" "%/%" it does not.
I can't reproduce this. What about with:
1 lsub "" %/%
participants (2)
-
Burckhard Schmidt
-
Timo Sirainen