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

Kui Zhang kuizhang at gmail.com
Mon Sep 5 13:11:48 EEST 2011


On Sun, Sep 4, 2011 at 8:45 AM, Timo Sirainen <tss at iki.fi> wrote:
> 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:
>

The ref counter was 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 \;
>
>

The message was copied to a secondary folder. The action match one of
the client side filter rules.

I found 3k other messages with same problem. They all have delete flag.

I upgraded dovecot the night before. I seen plugin errors during
upgrade, in the pass. Do you think client made multiple copies during
plugin upgrade? I will turn on debug logging for next upgrade.

What else can I do, in order to track down the problem?


thanks
KuiZ

>


More information about the dovecot mailing list