doveadm quota recalc returns a Segmentation fault
Alessio Cecchi
alessio at skye.it
Sat Sep 3 10:30:55 UTC 2016
Hi,
with the latest dovecot-ee version (2.2.25.4 (5cb7c97)) if I run
“doveadm quota recalc -u alessio at 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 at 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 at 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 at skye.it", session_id = 0x0,
session_id_prefix = 0x0, local_ip = {family = 0, u = {ip6 =
{__in6_u = {__u6_addr8 = '\000' <repeats 15 times>,
__u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 =
{0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {
family = 0, u = {ip6 = {__in6_u = {__u6_addr8 = '\000'
<repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
__u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}},
local_port = 0, remote_port = 0, userdb_fields = 0x0,
flags_override_add = 0, flags_override_remove = 0,
no_userdb_lookup = 0, debug = 0}
error = <value optimized out>
ip = <value optimized out>
ret = <value optimized out>
__FUNCTION__ = "doveadm_mail_next_user"
#9 0x00000000004218dc in doveadm_mail_cmd_exec (ctx=0x69bbe0,
cctx=0x7fffffffe400, wildcard_user=0x0) at doveadm-mail.c:592
ret = <value optimized out>
error = <value optimized out>
#10 0x0000000000422c7d in doveadm_cmd_ver2_to_mail_cmd_wrapper
(cctx=0x7fffffffe400) at doveadm-mail.c:1053
mctx = 0x69bbe0
wildcard_user = <value optimized out>
fieldstr = 0x456c52 "-u"
i = <value optimized out>
---Type <return> to continue, or q <return> to quit---
mail_cmd = {alloc = 0x7ffff573fba0 <cmd_quota_recalc_alloc>,
name = 0x7ffff573ffc5 "quota recalc",
usage_args = 0x7ffff573ff7f ""}
args_pos = <value optimized out>
#11 0x00000000004303b6 in doveadm_cmd_run_ver2 (argc=3, argv=0x6883a0,
cctx=0x7fffffffe400) at doveadm-cmd.c:523
param = <value optimized out>
pargv = {arr = {buffer = 0x680a28, element_size = 104}, v =
0x680a28, v_modifiable = 0x680a28}
pargc = <value optimized out>
c = <value optimized out>
li = 32767
pool = 0x680858
optbuf = 0x680870
__FUNCTION__ = "doveadm_cmd_run_ver2"
#12 0x0000000000430467 in doveadm_cmd_try_run_ver2 (cmd_name=<value
optimized out>, argc=3, argv=0x6883a0, cctx=0x7fffffffe400)
at doveadm-cmd.c:446
cmd = <value optimized out>
#13 0x0000000000432bdc in main (argc=4, argv=0x688398) at doveadm.c:379
cctx = {cmd = 0x69abf8, argc = 4, argv = 0x680a60, username =
0x681288 "alessio at skye.it", cli = true, tcp_server = false,
local_ip = {family = 0, u = {ip6 = {__in6_u = {__u6_addr8 =
'\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0,
0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr =
0}}}, remote_ip = {family = 0, u = {ip6 = {__in6_u = {
__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 =
{0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}},
ip4 = {s_addr = 0}}}, local_port = 0, remote_port = 0,
conn = 0x0}
cmd_name = <value optimized out>
quick_init = false
c = <value optimized out>
(gdb)
I hope can be fixed.
Thanks
--
Alessio Cecchi
Postmaster AT http://www.qboxmail.it
http://www.linkedin.com/in/alessice
More information about the dovecot
mailing list