Hi all,
I've installed dovecot 1.0 rc12 on a MacOS X client system with only
a handful of users – all virtual – and would like to enable quotas.
I've tried searching the wiki for information on how to do this, but
haven't been able to find anything – which is why I turn to the list
in hope there's someone out there who can point me in the right
direction.
I've compiled dovecot without any other authentication than sql and
pam, and have enabled ssl, pop3 and dovecot lda (for use with postfix
when I get around to it). The installation went smoothly, and dovecot
is working great without quota-support. However, when I enable quota-
support, the imap child-process crashes. Here's a few lines from the
log, slightly altered to protect user-identities:
Nov 8 23:05:09 SD-Server dovecot: imap-login: Login:
user=<imapuser>, method=PLAIN, rip=192.168.2.10, lip=192.168.2.2, TLS
Nov 8 23:05:09 SD-Server dovecot: child 22662 (imap) killed with
signal 11
Nov 8 23:05:09 SD-Server crashdump[22663]: imap crashed
Nov 8 23:05:09 SD-Server crashdump[22663]: crash report written to: /
Library/Logs/CrashReporter/imap.crash.log
Nov 8 23:05:12 SD-Server dovecot: imap-login: Login: user=< imapuser
, method=PLAIN, rip=192.168.2.10, lip=192.168.2.2, TLS Nov 8 23:05:13 SD-Server dovecot: child 22665 (imap) killed with
signal 11 Nov 8 23:05:13 SD-Server crashdump[22666]: imap crashed Nov 8 23:05:13 SD-Server crashdump[22666]: crash report written to: / Library/Logs/CrashReporter/imap.crash.log Nov 8 23:05:16 SD-Server dovecot: imap-login: Login: user=< imapuser
, method=PLAIN, rip=192.168.2.10, lip=192.168.2.2, TLS Nov 8 23:05:17 SD-Server dovecot: child 22670 (imap) killed with
signal 11 Nov 8 23:05:17 SD-Server crashdump[22671]: imap crashed Nov 8 23:05:17 SD-Server crashdump[22671]: crash report written to: / Library/Logs/CrashReporter/imap.crash.log
This is what I have done in dovecot.conf to enable quota:
protocol imap { mail_plugins = quota imap_quota mail_plugin_dir = /usr/local/lib/dovecot/imap }
plugin { #quota = dict:storage=10240 #quota = dirsize:storage=10240 #quota = maildir:storage=10240 #quota = maildir:storage=10240 mysql:/usr/local/etc/dovecot-sql.conf #quota = fs:storage=10240 #quota = fs }
As you might guess from the lines under "plugin", I've tried a lot of
different combinations. If I enable ANY of the above lines under
plugin, the child-processes die upon login. When all have been
commented out, there's no more crashing – until I try to see how much
space is available, then it crashes again. I've tried adding an extra
"quota" field to my mysql userdb to handle quotas, but with the same
result.
mysql-query looks like this (as described in the wiki):
user_query = SELECT home, uid, gid, 'dirsize:storage=' || quota_kb AS
quota FROM users WHERE userid = '%u'
As with the settings in dovecot.conf, Ive tried various combinations
of dict, dirsize and so on, but without any luck.
This is what the entries in my crashdump file looks like:
Host Name: SD-Server Date/Time: 2006-11-09 00:06:17.151 +0100 OS Version: 10.4.7 (Build 8J135) Report Version: 4
Command: imap Path: /usr/local/libexec/dovecot/imap Parent: dovecot [8370]
Version: ??? (???)
PID: 23101 Thread: 0
Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000044
Thread 0 Crashed:
0 lib01_quota_plugin.so 0x00256ca8 quota_root_iter_next + 32
(array.h:144)
1 lib02_imap_quota_plugin.so 0x00273700 cmd_getquotaroot + 280
(imap-quota-plugin.c:87)
2 imap 0x000076b8 _client_input + 556
(client.c:377)
3 imap 0x0006e9a8 io_loop_handler_run + 424
(ioloop-poll.c:200)
4 imap 0x0005e214 io_loop_run + 40 (ioloop.c:
280)
5 imap 0x0000fd38 main + 1740 (main.c:241)
6 imap 0x00001df4 _start + 348 (crt.c:272)
7 imap 0x00001c94 start + 60
Thread 0 crashed with PPC Thread State 64:
srr0: 0x0000000000256ca8 srr1:
0x000000000200f030 vrsave: 0x0000000000000000
cr: 0x48000244 xer: 0x0000000000000004 lr:
0x0000000000256c94 ctr: 0x0000000000256c88
r0: 0x0000000000273700 r1: 0x00000000bffff410 r2:
0x0000000000000000 r3: 0x0000000000501e10
r4: 0x0000000000000010 r5: 0x0000000000000010 r6:
0x0000000000000022 r7: 0x0000000000000000
r8: 0x0000000000000002 r9: 0x0000000000501e20 r10:
0x0000000000000000 r11: 0x0000000000275044
r12: 0x0000000000256c88 r13: 0x0000000000000000 r14:
0x0000000000000000 r15: 0x0000000000000000
r16: 0x0000000000000000 r17: 0x0000000000000000 r18:
0x0000000000000000 r19: 0x0000000000000000
r20: 0x0000000000000000 r21: 0x0000000000000000 r22:
0x0000000000000000 r23: 0x0000000000000000
r24: 0x0000000000000000 r25: 0x000000000007e808 r26:
0x0000000000000000 r27: 0x0000000000500a24
r28: 0x0000000000501e10 r29: 0x0000000000500a24 r30:
0x00000000002492d0 r31: 0x0000000000256c94
Binary Images Description: 0x1000 - 0x7efff imap /usr/local/libexec/dovecot/imap 0x253000 - 0x258fff lib01_quota_plugin.so /usr/local/lib/ dovecot/imap/lib01_quota_plugin.so 0x273000 - 0x274fff lib02_imap_quota_plugin.so /usr/local/lib/ dovecot/imap/lib02_imap_quota_plugin.so 0x8fe00000 - 0x8fe52fff dyld 45.3 /usr/lib/dyld 0x90000000 - 0x901bbfff libSystem.B.dylib /usr/lib/libSystem.B.dylib 0x90213000 - 0x90218fff libmathCommon.A.dylib /usr/lib/system/ libmathCommon.A.dylib 0x92d65000 - 0x92e53fff libiconv.2.dylib /usr/lib/libiconv.2.dylib 0x936e3000 - 0x93703fff libmx.A.dylib /usr/lib/libmx.A.dylib
Best regards, Lars