[Dovecot] failed: Too many levels of symbolic links
All, My dovecot install works great except for one error I keep seeing this in my logs. The folder has 7138 messages in it. I am informed the user they needed to reduce the number of messages in the folder and believe this will fix the problem. My question is about where the problem lies. Is the problem related to an internal limit with Dovecot v2.0.15 or with my Debian (3.1.0-1-amd64)?
Thanks
dovecot: imap(XXXXX@XXXXX.com): Error: readdir(/XXXX/XXXX/XXXXXXXXX/XXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXXX/XXX) failed: Too many levels of symbolic links
David Egbert Paperclip Systems, LLC
This message, its contents, and attachments are confidential and are only authorized for the intended recipient. Disclosure, re-distribution, or use of said information is strictly prohibited, and may be excluded from disclosure by applicable law. If you are not the intended recipient, or their intermediary, please notify the sender and delete this message.
On 6.1.2012, at 22.44, David Egbert wrote:
dovecot: imap(XXXXX@XXXXX.com): Error: readdir(/XXXX/XXXX/XXXXXXXXX/XXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXXX/XXX) failed: Too many levels of symbolic links
You have a symlink loop. Either a symlink that points to itself or one of the parent directories.
On 1/6/2012 2:16 PM, Timo Sirainen wrote:
On 6.1.2012, at 22.44, David Egbert wrote:
dovecot: imap(XXXXX@XXXXX.com): Error: readdir(/XXXX/XXXX/XXXXXXXXX/XXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXXX/XXX) failed: Too many levels of symbolic links You have a symlink loop. Either a symlink that points to itself or one of the parent directories.
I thought that might have been the case, but I checked and there are no symlinks in that directory, or any of the directories above it in the path. All of the directories and files were created by dovecot. I didn't notice this in the logs until recently. The files are stored on an NFS Raid if that makes any difference.
David Egbert
On 6.1.2012, at 23.41, David Egbert wrote:
On 1/6/2012 2:16 PM, Timo Sirainen wrote:
On 6.1.2012, at 22.44, David Egbert wrote:
dovecot: imap(XXXXX@XXXXX.com): Error: readdir(/XXXX/XXXX/XXXXXXXXX/XXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXXX/XXX) failed: Too many levels of symbolic links You have a symlink loop. Either a symlink that points to itself or one of the parent directories.
I thought that might have been the case, but I checked and there are no symlinks in that directory, or any of the directories above it in the path. All of the directories and files were created by dovecot. I didn't notice this in the logs until recently. The files are stored on an NFS Raid if that makes any difference.
Well, then.. You have a bit too many Xes in there for me to guess which readdir() is the one failing. I guess it's /new or /cur for a Maildir?
Anyway, readdir() is failing with ELOOP. Does it always fail with "Too many levels of symbolic links" or is it sometimes different? This sounds like a bug in Linux NFS client code. You can reproduce this always with this one user's Maildir? Can you do "ls" in the directory?
On 1/6/2012 2:51 PM, Timo Sirainen wrote:
On 6.1.2012, at 23.41, David Egbert wrote:
On 1/6/2012 2:16 PM, Timo Sirainen wrote:
On 6.1.2012, at 22.44, David Egbert wrote:
dovecot: imap(XXXXX@XXXXX.com): Error: readdir(/XXXX/XXXX/XXXXXXXXX/XXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXXX/XXX) failed: Too many levels of symbolic links You have a symlink loop. Either a symlink that points to itself or one of the parent directories.
I thought that might have been the case, but I checked and there are no symlinks in that directory, or any of the directories above it in the path. All of the directories and files were created by dovecot. I didn't notice this in the logs until recently. The files are stored on an NFS Raid if that makes any difference. Well, then.. You have a bit too many Xes in there for me to guess which readdir() is the one failing. I guess it's /new or /cur for a Maildir?
Anyway, readdir() is failing with ELOOP. Does it always fail with "Too many levels of symbolic links" or is it sometimes different? This sounds like a bug in Linux NFS client code. You can reproduce this always with this one user's Maildir? Can you do "ls" in the directory?
Sorry about the X's... it is a client directory. We support many domains and their privacy is paramount. You are correct it is in the /cur directory. I can LS all of directories without problems. This user has 10+Gb in his mail box spread across 352 subscribed folders. As for the logs it is always the directory, always the same error.
David Egbert
On 7.1.2012, at 0.10, David Egbert wrote:
Anyway, readdir() is failing with ELOOP. Does it always fail with "Too many levels of symbolic links" or is it sometimes different? This sounds like a bug in Linux NFS client code. You can reproduce this always with this one user's Maildir? Can you do "ls" in the directory?
Sorry about the X's... it is a client directory. We support many domains and their privacy is paramount. You are correct it is in the /cur directory. I can LS all of directories without problems. This user has 10+Gb in his mail box spread across 352 subscribed folders. As for the logs it is always the directory, always the same error.
Try the attached test program. Run it as: ./readdir /path/to/Maildir/cur
Does it also give non-zero error?
On 1/6/2012 3:30 PM, Timo Sirainen wrote:
On 7.1.2012, at 0.10, David Egbert wrote:
Anyway, readdir() is failing with ELOOP. Does it always fail with "Too many levels of symbolic links" or is it sometimes different? This sounds like a bug in Linux NFS client code. You can reproduce this always with this one user's Maildir? Can you do "ls" in the directory?
Sorry about the X's... it is a client directory. We support many domains and their privacy is paramount. You are correct it is in the /cur directory. I can LS all of directories without problems. This user has 10+Gb in his mail box spread across 352 subscribed folders. As for the logs it is always the directory, always the same error. Try the attached test program. Run it as: ./readdir /path/to/Maildir/cur
Does it also give non-zero error?
I ran it, and it returned: readdir() errno = 0 The user backed up their data and then removed the folder from the server. The error is now gone so I am assuming there was some corrupt file in the directory. Thanks for all of the help.
David Egbert Paperclip Systems, LLC
This message, its contents, and attachments are confidential and are only authorized for the intended recipient. Disclosure, re-distribution, or use of said information is strictly prohibited, and may be excluded from disclosure by applicable law. If you are not the intended recipient, or their intermediary, please notify the sender and delete this message.
participants (2)
-
David Egbert
-
Timo Sirainen