On Tue, 17 Mar 2009 14:09:49 +0000, Chris January chris@atomice.net 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/