Pigeonhole/sieve possibly corrupting mails

Ladislav Laska laska at kam.mff.cuni.cz
Thu Oct 20 17:03:33 UTC 2016


Hi!

> Somehow Dovecot thinks that the mbox file changed under it..

Yes. And it's probably right, but I wonder what could have changed it. I
looked around inotify and it seems there is no way to let a file being
watched and get program names/pids of processes accessing it.

> These mbox corruptions are usually pretty difficult to reproduce (= impossible to fix without ability to reproduce). You could try if you can (reliably) reproduce it in some way, e.g.:

I can reproduce them multiple times a day :-). But not on command, and
probably not on another machine, I know...

> 1. Create a test folder: doveadm mailbox create -u krakonos testbox
> 2. Use some combination of:
>  * Save mail(s) to test folder: cat some-mails | doveadm save -u krakonos testbox
>  * Try to read mails from test folder: doveadm fetch -u krakonos text mailbox testbox > /dev/null

Well, that's something. doveadm-save doesn't have a manpage, and there
is nothing about it on wiki. Is it something new? Also, it doesn't seem
to work. 

> 
> The fetch should print similar errors to stderr in some way. I attempted to reproduce this way with your msg-error.mbox, but it worked ok.
> 

Thinking about it, it might be that I'm fetching the message just as
dovecot delivers another one. 

Is it possible that fcntl locking is just not working? I'm running a bit
older kernel, if that could play a role in it. I'll try to enable
dotlock even on read and see if the problem persists.

-- 
S pozdravem Ladislav "Krakonoš" Láska                http://www.krakonos.org/


More information about the dovecot mailing list