[Dovecot] Index cache errors worse with 2.2.x

Axel Luttgens axel.luttgens at skynet.be
Sun May 25 12:08:06 UTC 2014


Le 23 mai 2014 à 11:54, Alexander 'Leo' Bergolth a écrit :

> [...]
> 
> I tried to add dotlock to mbox_write_locks since according to the source,
> the LDA (maildrop) seems to try dotlock before fcntl.

Hello Alexander,

I don't know very much about maildrop, but isn't this configurable, perhaps thru maildroprc or such? I'm asking, because guessing about such matters may be somewhat audacious...


> I also changed fcntl to dotlock for locking index files. (lock_method = dotlock)

Such a change shouldn't be needed (and could even lead to inefficiencies), since only Dovecot software is supposed to handle those index files.
Or could it be that you have some concerns with XFS's locking capabilities?


> The only processes that access a users mailboxes are dovecot (imap and pop) and maildrop (LDA).

It could be interesting to see a raw message as delivered by maildrop under your mail system.
Could you try something along these lines?

1. prepare a user's environment:
- create a test user
- send him some messages, access his mboxes thru pop, imap..., move, delete some messages...
2. do not access that user's account anymore
3. send a short message to that user, perhaps one with some frills (i.e. a bit more complicated than just plain ASCII)
4. do a cat on that user's inbox (or, probably better, a hexdump -C) 


> The only non-standard setup I can identify is that I am using an imap-postlogin script that dynamically adds some additional namespaces via environment variables for some users that have access to shared mailboxes.
> But I doubt wether this can have an influence on the index.cache errors.

Who knows?
;-)

Now, those errors seem to occur only with IMAP, never with POP.
More precisely, within imap processes.
Is this really the case? If yes, this could provide a hint.

Again, as far as I can tell, the cache-related error messages seem to occur only with INBOX, never with another mailbox.

On the other hand, the error messages related to "invalid arguments" either do not specify a mailbox, or specify a non-INBOX mailbox (e.g., "Trash", "A_TO_DO", "A_ZV-Zahlungsvorschlag"...).
And the most precise of those message mention "mail parser: read(" or "copy: i_stream_read() failed".

Putting all these pieces together might perhaps lead someone more knowledgeable to an explanation...

HTH,
Axel




More information about the dovecot mailing list