[Dovecot] 2.0rc3: Panic: [...] mailbox_list_is_valid_pattern (was: Crash while accessing mdbox folders)

Axel Thimm athimm at flocki.atrpms.net
Tue Aug 3 14:16:57 EEST 2010


On Mon, Aug 02, 2010 at 04:01:24PM +0100, Timo Sirainen wrote:
> On Thu, 2010-07-29 at 13:56 +0300, Axel Thimm wrote:
> > > Jul 28 19:42:48 lda(athimm): Panic: file mailbox-list-fs.c: line 150
> > > (fs_list_get_path): assertion failed:
> > > (mailbox_list_is_valid_pattern(_list, name))
> ..
> > I found what the issue was, a bogus line in my sieve script tried to use
> > a match variable that hadn't been set (e.g. I matched only two globs,
> > but I used ${3}).
> 
> Is it the same as if you just did fileinto ""? I can't reproduce this,
> the best I get is:
> 
> Aug 02 15:59:25 lda(2189 tss): Error: sieve: msgid=<blah at blah>: subject=blah: failed to store into mailbox '': Unknown namespace
> Aug 02 15:59:25 lda(2189 tss): Error: sieve: execution of script /home/tss/.dovecot.sieve failed, but implicit keep was successful
> 
> or if I have a prefix="" namespace, then it just quietly goes to INBOX.

Here are my rules for mailing lists catchall:

if header :matches "List-ID" "*<*.*>" {
  fileinto :create "${folder}/${3}/${2}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-ID" "*<*>" {
  fileinto :create "${folder}/${2}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-ID" "*.*" {
  fileinto :create "${folder}/${2}/${1}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-ID" "*" {
  fileinto :create "${folder}/${1}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-Owner" "<mailto:*-owner@*>" {
  fileinto :create "${folder}/${2}/${1}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-post" "<mailto:*@*>" {
  fileinto :create "${folder}/${2}/${1}";
  addflag "DeliveredTo" "$${dflag}";
} elsif header :matches "List-owner" "<mailto:*-request@*>" {
  fileinto :create "${folder}/${2}/${1}";
  addflag "DeliveredTo" "$${dflag}";
}

Due to copy and paste I had some rules like

} elsif header :matches "List-Owner" "<mailto:*-owner@*>" {
  fileinto :create "${folder}/${3}/${2}";
  addflag "DeliveredTo" "$${dflag}";
} [...]

The bad rules only triggered on very few mailing lists (those that
don't use proper List-*: headers), so I only noticed a couple of days
later. IIRC two of the lists were bugzilla and scientific-linux.

E.g. the fileinto was probably given some argument of "lists//somedomain.org"

Does this information help?


More information about the dovecot mailing list