Do you have mailbox_list_index_very_dirty_syncs=yes? If yes, does the problem 
go away if you run: doveadm -o mailbox_list_index_very_dirty_syncs=no mailbox 
list -u $user

Alternatively, try doveadm force-resync -u $user '*'

Yet another possibility to try rm dovecot.list.index*

Also, there is this patch that possibly helps:

diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c
index a4363fc73c..b42053bc1a 100644
--- a/src/lib-storage/mail-storage.c
+++ b/src/lib-storage/mail-storage.c
@@ -1557,11 +1557,7 @@ int mailbox_rename_nfc_forced(struct mailbox_list *list, 
const char *vname_raw,
 
        ret = mailbox_rename(box_old, box_new);
        if (ret < 0 &&
-           mailbox_get_last_mail_error(box_old) == MAIL_ERROR_NOTFOUND) {
-               /* ignore */
-               ret = 0;
-       } else if (ret < 0 &&
-                  mailbox_get_last_mail_error(box_old) == MAIL_ERROR_EXISTS) {
+           mailbox_get_last_mail_error(box_old) == MAIL_ERROR_EXISTS) {
                /* generate a new unique name */
                guid_128_t guid;
                guid_128_generate(guid);
@@ -1572,6 +1568,16 @@ int mailbox_rename_nfc_forced(struct mailbox_list *list, 
const char *vname_raw,
                box_new = mailbox_alloc(list, *vname_new_r, 0);
                ret = mailbox_rename(box_old, box_new);
        }
+       if (ret < 0 &&
+           mailbox_get_last_mail_error(box_old) == MAIL_ERROR_NOTFOUND) {
+               /* Source doesn't exist on disk anymore (e.g. backing store
+                  already renamed externally while the list index still has
+                  the old non-NFC entry). Treat as no-op rather than fail
+                  the iteration: return the plain NFC name so the caller
+                  doesn't expose the unique-suffix fallback name. */
+               *vname_new_r = vname_nfc;
+               ret = 0;
+       }
        if (ret < 0)
                *error_r = mailbox_get_last_error(box_old, NULL);
        mailbox_free(&box_old);


> On 12. May 2026, at 15.43, Philip Iezzi via dovecot <[email protected]> 
> wrote:
> 
> Thanks Jan for reporting this. I also experience this Bug since having 
> upgraded Dovecot 2.4.2 -> 2.4.3 on 2026-03-27, leading to such errors in 
> mail.log:
> 
> Error: Failed to rename mailbox 'INBOX/Zürich' for NFC normalization: Mailbox 
> doesn't exist: INBOX/Zürich
> 
> - Zürich (in above log line) uses a decomposed sequence: a plain u (U+0075) 
> followed by a combining diaeresis (U+0308), which the renderer stacks on top.
> - Zürich (which we usually type) uses a precomposed character: ü is a single 
> code point, U+00FC (LATIN SMALL LETTER U WITH DIAERESIS).
> 
> Such errors lead to broken folder structure - the user is no longer able to 
> list the whole folder structure (except INBOX) and on mail clients like 
> Roundcube, all folders appear as no longer subscribed.
> Renaming the "ü" to "ü" fixes the problem. But I have a bunch of other 
> customers which use such characters and in previous Dovecot versions <= 2.4.2 
> this was never a problem.
> 
> Is there any known issue / will this be addressed in the next minor version?
> 
> Kind regards,
> Philip
> 
> 
>> On 5 May 2026, at 16:04, Jan Münnich via dovecot <[email protected]> wrote:
>> 
>> Following up on my own thread in case anyone hits the same issue:
>> 
>> The failed NFC rename in 2.4 left behind a duplicate mailbox with a 32-hex 
>> GUID suffix, but only for mailboxes that had subfolders. So for every 
>> affected name we ended up with two entries:
>> 
>> Anträge
>> Anträge-e078d427706eda694b210000a386c91b
>> 
>> The original kept its (broken) name with no message access, and the 
>> GUID-suffixed sibling held the actual mail. Both showed up as real folders 
>> in IMAP clients.
>> 
>> I figured out from the source code that the failed rename hits a fallback 
>> path that creates the GUID-suffixed sibling, but not what triggers the 
>> failure in the first place. I also found a hidden option there that is not 
>> listed in documentation, which works as a workaround to stop new 
>> occurrences: 'mailbox_list_normalize_names_to_nfc = no'.
>> 
>> Fix for already-affected mailboxes: for each one, create a temporary 
>> ASCII-named replacement at the same hierarchy level, move the subfolders 
>> into it, move messages from the GUID-suffixed mailbox into it, delete the 
>> GUID-suffixed mailbox (the broken original then disappears), and rename the 
>> replacement back to the original name. The final rename runs through the 
>> regular code path (without NFC normalisation) and works fine.
>> 
>> Kind regards,
>> Jan
>> 
>> 
>>> On 11 Apr 2026, at 17:25, Jan Münnich via dovecot <[email protected]> 
>>> wrote:
>>> 
>>> Hi,
>>> 
>>> We just upgraded from 2.3 to 2.4.3 and are now getting errors like this for 
>>> any mailbox with German umlauts in the name:
>>> 
>>> "Error: Failed to rename mailbox 'Anträge' for NFC normalization: Mailbox 
>>> doesn't exist: Anträge"
>>> 
>>> The mailboxes work fine otherwise, doveadm mailbox status shows them with 
>>> correct message counts. The errors show up on IMAP access but don't seem to 
>>> break anything.
>>> 
>>> We're using mdbox. On disk the directory is stored as mUTF-7:
>>> 
>>> Antr&AOQ-ge
>>> 
>>> doveadm mailbox list gives back the name with c3 a4 for the ä, which is 
>>> already NFC. We double-checked with python3 unicodedata and it confirms the 
>>> name is NFC. So it seems like dovecot is trying to rename something that 
>>> doesn't need renaming, and then failing.
>>> 
>>> Is there a way to turn off this automatic rename? Or is this a known issue 
>>> with mdbox and mUTF-7 directory names?
>>> 
>>> Any help would be appreciated to find out if this is a bug or a 
>>> configuration issue on our side!
>>> 
>>> Thanks,
>>> Jan
>>> 
>>> _______________________________________________
>>> dovecot mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
>> 
>> _______________________________________________
>> dovecot mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
> 
> _______________________________________________
> dovecot mailing list -- [email protected]
> To unsubscribe send an email to [email protected]

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to