[Dovecot] Possible signed/unsigned bug in libdovecot-storage (2:2.0.14 )

Timo Sirainen tss at iki.fi
Sun Sep 4 18:45:49 EEST 2011


On Sat, 2011-09-03 at 02:29 -0700, Kui Zhang wrote:
> > >> "Message has been copied too many times (32767+1)"
> it is mdbox, file size 10M
> 
> I dont know if the message was ever copy that many times. I dont know
> any way to tell.

I'm pretty sure the message has been copied that many times. Possibly
related to some lazy-expunge bug.. You could check this manually by:

> I was able to trigger the error message with following.
> a uid copy 726974 inbox_2
> 
First you'll need to find "map_uid" of the message:
> 
map_uid=`doveadm dump ~/mdbox/mailboxes/INBOX/dbox-Mails/|grep -A 10 uid=726974|grep -w map_uid|awk '{print $4}'`

Next you can check that the reference count for the message really is
32767:

doveadm dump ~/mdbox/storage|grep -A 5 uid=$map_uid | grep -w ref

And finally check where that message has actually been copied to:

printf '#!/bin/sh\necho $1;doveadm dump $1 | grep "map_uid.*\\b$2\\$" | wc -l\n' > /tmp/find.sh
find ~/mdbox -name dbox-Mails -exec /tmp/find.sh {} $map_uid \;




More information about the dovecot mailing list