Hi,
with the latest dovecot-ee version (2.2.25.4 (5cb7c97)) if I run “doveadm quota recalc -u alessio@skye.it” dovecot return a “Segmentation fault” (but the quota is update fine). Since dovecot version 2.2.24.3 (55cdc32) works fine.
This is my quota backends configuration:
plugin { quota = maildir:UserQuota quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
I found that if I comment the line “quota2 = dict:…” doveadm quota recalc works fine. I have two quota backends because with dict I can store everybody's current quota usage in a SQL database for fast retrieving (like quota_clone plugin but I cannot switch to it immediately).
The backtrace:
# gdb --args doveadm quota recalc -u alessio@skye.it GNU gdb (GDB) Red Hat Enterprise Linux (7.2-90.el6) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/bin/doveadm...Reading symbols from /usr/lib/debug/usr/bin/doveadm.debug...done. done.
(gdb) run Starting program: /usr/bin/doveadm quota recalc -u alessio@skye.it [Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff73ed245 in io_loop_handler_run (ioloop=0x1006b1930) at
ioloop.c:612
612 io_loop_handler_run_internal(ioloop);
Missing separate debuginfos, use: debuginfo-install
bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64
dovecot-ee-pigeonhole-2.2.25.4-4.x86_64 glibc-2.12-1.192.el6.x86_64
nspr-4.11.0-1.el6.x86_64 nss-3.21.0-8.el6.x86_64
nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64 nss-util-3.21.0-2.el6.x86_64
openldap-2.4.40-12.el6.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) bt full
#0 0x00007ffff73ed245 in io_loop_handler_run (ioloop=0x1006b1930) at
ioloop.c:612
No locals.
#1 0x00007ffff73ed3e8 in io_loop_run (ioloop=0x6b1930) at ioloop.c:588
__FUNCTION__ = "io_loop_run"
#2 0x00007ffff73ac45c in client_dict_wait (_dict=0x6b15f0) at
dict-client.c:653
dict = 0x6b15f0
#3 0x00007ffff636f85f in dict_quota_deinit (_root=<value optimized
out>) at quota-dict.c:106
root = 0x6b12f0
__FUNCTION__ = "dict_quota_deinit"
#4 0x00007ffff636d326 in quota_root_deinit (root=0x6b12f0) at
quota.c:279
pool = 0x6b1400
#5 0x00007ffff636d381 in quota_deinit (_quota=0x6aeae8) at quota.c:389
quota = 0x6ac0b0
roots = <value optimized out>
i = <value optimized out>
count = 2
#6 0x00007ffff637240d in quota_user_deinit (user=0x6ac7b0) at
quota-storage.c:538
quser = 0x6aead8
quota_set = 0x6b07c0
#7 0x00007ffff76a9b52 in mail_user_unref (_user=<value optimized out>)
at mail-user.c:174
user = 0x6ac7b0
__FUNCTION__ = "mail_user_unref"
#8 0x00000000004216b4 in doveadm_mail_next_user (ctx=0x69bbe0,
cctx=<value optimized out>, error_r=0x7fffffffe1c0)
at doveadm-mail.c:403
input = {module = 0x0, service = 0x4569d9 "doveadm", username =
0x681288 "alessio@skye.it", session_id = 0x0,
session_id_prefix = 0x0, local_ip = {family = 0, u = {ip6 =
{__in6_u = {__u6_addr8 = '\000'
I hope can be fixed. Thanks
Alessio Cecchi Postmaster AT http://www.qboxmail.it http://www.linkedin.com/in/alessice