On Tue, 17 Mar 2009 14:09:49 +0000, Chris January <[email protected]>
wrote:
>> this spurious value.  I can get around the problem in one of two ways
>> for
>> now: 1) delete the files dovecot.* in the actual INBOX maildir directory
>> 2)
>> set $max = $this->_messagecount($mailbox, 'ALL');, which seems to work
>> fine
>> even with the threaded implementation.  Any thoughts on this?
> 
> I think $max = $this->_messagecount($mailbox, 'ALL'); is the correct
> fix but it needs to go just before the call to clear_message_cache.
> Something like the following:
>         // delete cached messages with a higher index than $max+1
>         // Changed $max to $max+1 to fix this bug : #1484295
>         if ($message_threading)
>             $max = $this->_messagecount($mailbox, 'ALL');
>         $this->clear_message_cache($cache_key, $max + 1);
> This may fix it. Previously $max was the number of threads so any
> messages with indices > no. threads got cleared form the cache.
> 
> Chris


Turns out this was a bug in Dovecot.  You can follow the report and
resulting path on this thread:

http://markmail.org/message/x46suaawhcsefykg

Fore convenience the patch is here:

http://hg.dovecot.org/dovecot-1.2/rev/bf16646ec312

Nathan
_______________________________________________
List info: http://lists.roundcube.net/dev/

Reply via email to