Hello list,

I have a strange problem with dovecot and quota. The error message is not obvious...

After a couple of seconds when I try to start dovceot, I get this:
r...@taleira:~# /etc/init.d/dovecot start
Alarm clock

If I uncomment the "imap_quota and quota" in dovecot.conf everything seem to work fine:

protocol imap {
 listen = *:143
 ssl_listen = *:993
 # problem pa taleira01: konstigt...
 #mail_plugins = quota imap_quota
 mail_plugins =
}

I can't really figure out what's wrong. There's nothing in the log and dovecots error message is not so talkative. It took a while to figure out that it was the quota that caused the problem. I guess there is something with the underlying FS, but all kernel modules are loaded as far as I know. The maildir is on a nfs-mounted disk. The whole system is on a XEN machine and I have multipe copies of this image running on other machines with no problem.

Strace gives me:

r...@taleira:~# strace dovecot
....
lstat64("/var/run/dovecot//login", {st_mode=S_IFDIR|0750, st_size=60, ...}) = 0 open("/var/run/dovecot//login", O_RDONLY|O_NONBLOCK|O_LARGEFILE| O_DIRECTORY|0x80000) = 4
fstat64(4, {st_mode=S_IFDIR|0750, st_size=60, ...}) = 0
getdents64(4, /* 3 entries */, 4096)    = 88
lstat64("/var/run/dovecot//login/ssl-parameters.dat", {st_mode=S_IFREG| 0644, st_size=230, ...}) = 0
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
geteuid32()                             = 0
pipe([4, 5])                            = 0
fcntl64(4, F_GETFD)                     = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fcntl64(5, F_GETFD)                     = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
dup(2)                                  = 6
fcntl64(6, F_GETFD)                     = 0
fcntl64(6, F_SETFD, FD_CLOEXEC)         = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID| SIGCHLD, child_tidptr=0xf7e666f8) = 3343
close(6)                                = 0
close(5)                                = 0
alarm(5)                                = 0
wait4(-1, 0xffbd7e9c, 0, NULL) = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
+++ killed by SIGALRM +++
Process 3342 detached


Finally, my system is:

r...@taleira:~# dovecot --version
1.1.4
r...@taleira:~# uname -a
Linux taleira 2.6.26-1-xen-amd64 #1 SMP Sat Nov 8 21:20:04 UTC 2008 x86_64 GNU/Linux

Any ideas?

/Magnus


Reply via email to