mkliewe at gmx.de
2017-Jan-18 14:27 UTC
Quota count does not work with lock_method=dotlock
Hello, dovecot crashes when I switch the quota tracking from dict to count. The following is working since years: quota = dict:User quota::proxy::quota I'm using a mysql quota dictionary. Now I want to switch to the new "quota count" + "quota clone" combination. I'm loading the "quota_clone" plugin, and: #quota = dict:User quota::proxy::quota quota = count:User quota quota_vsizes = yes quota_clone_dict = proxy::quota It works on a maschine where I'm using NFS with lock_method=fcntl. It's crashing on another maschine where I'm using NFS with lock_method=dotlock. See below. Sadly I have to use dotlock, because of the NFS server. It looks like quota count does not (yet) work with dotlock? Michael Jan 17 18:46:04 XXXX dovecot: imap-login: Login: user=<XXXX>, method=PLAIN, rip=10.0.XX.XX, lip=10.0.XX.XX, mpid=19123, secured, session=<XXXX> Jan 17 18:46:04 XXXX dovecot: imap(XXXX): Panic: file file-lock.c: line 285: unreached Jan 17 18:46:04 XXXX dovecot: imap(XXXX): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x93ea2) [0x7f33f7812ea2] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x93f8d) [0x7f33f7812f8d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f33f77ac7c1] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x98810) [0x7f33f7817810] -> /usr/local/lib/dovecot/libdovecot.so.0(file_wait_lock_error+0x26) [0x7f33f7817be6] -> /usr/local/lib/dovecot/libdovecot.so.0(file_try_lock_error+0x11) [0x7f33f7817c61] -> /usr/local/lib/dovecot/libdovecot.so.0(file_create_locked+0x17d) [0x7f33f7814d1d] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(+0xb25f3) [0x7f33f7b4d5f3] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_mailbox_get_virtual_size+0x4c) [0x7f33f7b4d91c] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_mailbox_get_metadata+0x1ab) [0x7f33f7b5510b] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(+0x5e357) [0x7f33f7af9357] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(+0xa15ac) [0x7f33f7b3c5ac] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_get_metadata+0x60) [0x7f33f7ae0d80] -> /usr/local/lib/dovecot/lib10_quota_plugin.so(quota_count+0xfe) [0x7f33f6fa6bce] -> /usr/local/lib/dovecot/lib10_quota_plugin.so(+0x7d3e) [0x7f33f6fa6d3e] -> /usr/local/lib/dovecot/lib10_quota_plugin.so(quota_get_resource+0x78) [0x7f33f6fa5578] -> /usr/local/lib/dovecot/lib10_quota_plugin.so(+0x68b4) [0x7f33f6fa58b4] -> /usr/local/lib/dovecot/lib10_quota_plugin.so(quota_over_flag_check_startup+0x78) [0x7f33f6fa63f8] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(hook_mail_namespaces_created+0x5e) [0x7f33f7ae21ae] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mail_namespaces_init_finish+0x46f) [0x7f33f7ad745f] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mail_namespaces_init+0x104) [0x7f33f7ad7674] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mail_storage_service_next+0x6c5) [0x7f33f7ae5275] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mail_storage_service_lookup_next+0x4c) [0x7f33f7ae55dc] -> dovecot/imap(client_create_from_input+0x46) [0x425476] -> dovecot/imap() [0x42567f] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x316d3) [0x7f33f77b06d3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x319bd) [0x7f33f77b09bd] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x3235a) [0x7f33f77b135a] Jan 17 18:46:04 zzz-dovecot01 dovecot: imap(XXXX): Fatal: master: service(imap): child 19123 killed with signal 6 (core dumped)
On 2017-01-18 15:27, mkliewe at gmx.de wrote:> dovecot crashes when I switch the quota tracking from dict to count.I have the same problem, but I use 'dict:file' as quota backend - Maybe the error is due to quota_vsizes and not 'count'. // Tom Sommer
On 24.01.2017 11:13, Tom Sommer wrote:> On 2017-01-18 15:27, mkliewe at gmx.de wrote: > >> dovecot crashes when I switch the quota tracking from dict to count. > > I have the same problem, but I use 'dict:file' as quota backend - > Maybe the error is due to quota_vsizes and not 'count'. > > // Tom SommerHi! What version of dovecot are you both using? Aki