Dovecot-2.0.3 reported: Error: Maildir: Found unwanted directory /path/to/mail/user/cur/:2,FST, but rmdir() failed: Directory not empty and sure enough, this directory really does exist and contain a valid message file: # cd /path/to/mail/user/cur/ # ls -lR total 384 drwx------ 8 vmail vmail 272 Sep 24 09:06 . drwx------ 13 vmail vmail 442 Sep 24 09:06 .. -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285336100.M879758P1166.my.mail.server,S=41045,W=41755:2,RST -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285336100.M910424P1166.my.mail.server,S=41045,W=41755:2,RST -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285336337.M656599P1166.my.mail.server,S=41045,W=41755:2,ST -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285336355.M88818P1164.my.mail.server,S=41045,W=41755:2,FS -rw------- 1 vmail vmail 14953 Sep 24 09:00 1285336838.M483116P5720.my.mail.server,S=14953,W=15225:2, drwx------ 3 vmail vmail 102 Sep 24 09:00 :2,FST ./:2,FST: total 88 drwx------ 3 vmail vmail 102 Sep 24 09:00 . drwx------ 8 vmail vmail 272 Sep 24 09:06 .. -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285335855.M242128P1165.my.mail.server,S=41045,W=41755 # Dovecot must have created this non-Maildir++-ish directory, but why, why in cur/ not tmp/, and why didn't it clean it up? (Not the "Directory not empty" error specifically; I mean in the larger sense.)
Hm, I found more revealing errors after sending that message. These are scrubbed a little differently, to show two user names: imap(pid 5720 user user1): Error: open(/path/to/mail/user2/tmp/1285336854.M157825P5720.my.mail.server) failed: No such file or directory imap(pid 5720 user user1): Error: Maildir: Symlink destination doesn't exist: /path/to/mail/user2/cur/1285336100.M879758P1166.my.mail.server,S=41045,W=41755:2,FS imap(pid 5720 user user1): Error: open(/path/to/mail/user2/tmp/1285335855.M242128P1165.my.mail.server,S=41045,W=41755) failed: No such file or directory imap(pid 5720 user user1): Error: Maildir: Symlink destination doesn't exist: /path/to/mail/user2/cur/1285336337.M656599P1166.my.mail.server,S=41045,W=41755:2,FST imap(pid 5720 user user1): Error: open(/path/to/mail/user2/tmp/1285335855.M242128P1165.my.mail.server,S=41045,W=41755) failed: No such file or directory imap(pid 5720 user user1): Error: Maildir: Symlink destination doesn't exist: /path/to/mail/user2/cur/1285336337.M656599P1166.my.mail.server,S=41045,W=41755:2,FST imap(pid 5720 user user1): Error: open(/path/to/mail/user2/tmp/1285335855.M242128P1165.my.mail.server,S=41045,W=41755) failed: No such file or directory imap(pid 5721 user user2): Error: Maildir: Found unwanted directory /path/to/mail/user2/cur/:2,FST, but rmdir() failed: Directory not empty imap(pid 5721 user user2): Disconnected: Internal error occurred. Refer to server log for more information. [2010-09-24 09:07:23] bytes=1268/173293 Note that user1 != user2. Seems like this might be caused by having: service imap { client_limit = 5 service_count = 0 }
On Fri, 2010-09-24 at 09:59 -0500, Mike Abbott wrote:> ./:2,FST: > total 88 > drwx------ 3 vmail vmail 102 Sep 24 09:00 . > drwx------ 8 vmail vmail 272 Sep 24 09:06 .. > -rw------- 5 vmail vmail 41045 Sep 24 08:44 1285335855.M242128P1165.my.mail.server,S=41045,W=41755 > # > > Dovecot must have created this non-Maildir++-ish directory, but why, > why in cur/ not tmp/, and why didn't it clean it up? (Not the > "Directory not empty" error specifically; I mean in the larger sense.)I've heard some people having similar directories in cur/ directory.. It's always been with people who have migrated from Courier, so I've thought that the problem was that they just had accidentally misconfigured something in the past and just didn't notice those extra dirs with Courier. So are you saying that this directory was actually created by Dovecot? The directory name is ":2,FST" i.e. the base filename is empty. I guess this could happen if readdir() returns a "" directory entry while reading new/ and then Dovecot does: rename(".../new/", ".../cur/:2,") that's about the only explanation I can think of for this.. I'll add a check against this anyway just to be sure. :)
Reasonably Related Threads
- Zaptel / TDM400P card stopped working
- [Bug 14953] New: patch for checking double scan mode on correct crtc
- Problem dropping rows based on values in a column
- AW: Problems with installation
- service auth { client_limit=4096 } is lower than required under max. load (5720