On 02/10/2019 10:12, Domenico Pastore via dovecot wrote:
Hi, during the store of the messages, I find the following doveadm errors:
2019-10-02 09:22:19 auth: Debug: ldap(test.pop@test.xxx.it,10.11.47.60): result: mailMessageStore=1/1/2/0/8/7/2/1120872_91093 mailQuota=52428800; mailQuota,mailMessageStore unused 2019-10-02 09:22:19 auth: Debug: ldap(test.pop@test.xxx.it,10.11.47.60): Finished userdb lookup 2019-10-02 09:22:19 auth: Debug: userdb out: USER 1 test.pop@test.xxx.it home=/store/mailbox/mailbox_test/1/1/2/0/8/7/2/1120872_91093 quota_rule=*:bytes=52428800 mail_plugins+= *2019-10-02 09:22:19 doveadm(test.pop@test.xxx.it)<180667><MO3BGytQlF27wQIAxhuf8Q>: Fatal: master: service(doveadm): child 180667 killed with signal 11 (core dumped)* 2019-10-02 09:22:19 auth: Debug: master in: USER 1 test.pop@test.xxx.it service=doveadm lip=192.160.10.100 lport=924 rip=10.11.47.60 rport=56515 2019-10-02 09:22:19 auth: Debug: ldap(test.pop@test.xxx.it,10.11.47.60): Performing userdb lookup
This problem occurs only with the quota plugin enabled.
Can you help me?
The GDB trace tells me this is most likely a Lucene bug. There is very little Dovecot can mess up at library deinit like that.
Regards,
Stephan.
Best regards
Domenico
(gdb) #0 clear (this=0x0) at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/util/VoidMap.h:123 #1 lucene::search::FieldSortedHitQueue::_shutdown () at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/search/FieldSortedHitQueue.cpp:60 #2 0x00007f4b37a62e96 in _lucene_shutdown () at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/StdHeader.cpp:33 #3 0x00007f4b3b2f2fbb in module_dir_deinit (modules=<optimized out>) at module-dir.c:578 #4 0x00007f4b3b2f3001 in module_dir_unload (modules=modules@entry=0x7f4b3b8e1380
) at module-dir.c:590 #5 0x00007f4b3b5dd264 in mail_storage_service_deinit (_ctx=_ctx@entry=0x55ea409b7838) at mail-storage-service.c:1730 #6 0x000055ea3f4a3d35 in doveadm_mail_cmd_exec (ctx=ctx@entry=0x55ea409b77f8, wildcard_user=wildcard_user@entry=0x0) at doveadm-mail.c:673 #7 0x000055ea3f4a4bbd in doveadm_cmd_ver2_to_mail_cmd_wrapper (cctx=<optimized out>) at doveadm-mail.c:1144 #8 0x000055ea3f4b5c98 in doveadm_cmd_run_ver2 (argc=argc@entry=1, argv=argv@entry=0x55ea40997150, cctx=cctx@entry=0x7fff9a1cb990) at doveadm-cmd.c:574 #9 0x000055ea3f4ba020 in doveadm_cmd_server_run_ver2 (cctx=0x7fff9a1cb990, argv=0x55ea40997150, argc=1, conn=0x55ea409ebbd8) at client-connection-tcp.c:178 #10 doveadm_cmd_handle (cctx=0x7fff9a1cb990, argv=0x55ea40997150, argc=1, cmd_name=<optimized out>, conn=0x55ea409ebbd8) at client-connection-tcp.c:342 #11 client_handle_command (args=<optimized out>, conn=0x55ea409ebbd8) at client-connection-tcp.c:415 #12 client_connection_tcp_input (conn=0x55ea409ebbd8) at client-connection-tcp.c:561 #13 0x00007f4b3b2e855f in io_loop_call_io (io=0x55ea409c5b10) at ioloop.c:704 #14 0x00007f4b3b2e9fa3 in io_loop_handler_run_internal (ioloop=ioloop@entry=0x55ea4099fcb0) at ioloop-epoll.c:221 #15 0x00007f4b3b2e8666 in io_loop_handler_run (ioloop=ioloop@entry=0x55ea4099fcb0) at ioloop.c:756 #16 0x00007f4b3b2e8888 in io_loop_run (ioloop=0x55ea4099fcb0) at ioloop.c:729 #17 0x00007f4b3b25b2d3 in master_service_run (service=0x55ea4099fb40, callback=callback@entry=0x55ea3f4bd260 ) at master-service.c:781 #18 0x000055ea3f493421 in main (argc=1, argv=0x55ea4099f890) at main.c:151 (gdb) bt full #0 clear (this=0x0) at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/util/VoidMap.h:123 No locals. #1 lucene::search::FieldSortedHitQueue::_shutdown () at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/search/FieldSortedHitQueue.cpp:60 No locals. #2 0x00007f4b37a62e96 in _lucene_shutdown () at /usr/src/debug/clucene-core-2.3.3.4/src/core/CLucene/StdHeader.cpp:33 No locals. #3 0x00007f4b3b2f2fbb in module_dir_deinit (modules=<optimized out>) at module-dir.c:578 _data_stack_cur_id = 4 module = 0x55ea40a048b0 rev = 0x55ea4099ac18 i = <optimized out> count = 6 #4 0x00007f4b3b2f3001 in module_dir_unload (modules=modules@entry=0x7f4b3b8e1380
) at module-dir.c:590 module = <optimized out> next = <optimized out> #5 0x00007f4b3b5dd264 in mail_storage_service_deinit (_ctx=_ctx@entry=0x55ea409b7838) at mail-storage-service.c:1730 ctx = 0x55ea409f0bf8 #6 0x000055ea3f4a3d35 in doveadm_mail_cmd_exec (ctx=ctx@entry=0x55ea409b77f8, wildcard_user=wildcard_user@entry=0x0) at doveadm-mail.c:673 cctx = <optimized out> cli = <optimized out> ret = <optimized out> error = 0x7f4b3b22d2f7 <__x86_return_thunk+5> "\363\220\017\256\350\353\371H\215d$\b\303\350\a" #7 0x000055ea3f4a4bbd in doveadm_cmd_ver2_to_mail_cmd_wrapper (cctx=<optimized out>) at doveadm-mail.c:1144 mctx = 0x55ea409b77f8 wildcard_user = <optimized out> fieldstr = 0x55ea40997310 "͒\t7K\177" pargv = {arr = {buffer = 0x55ea409b7a28, element_size = 8}, v = 0x55ea409b7a28, v_modifiable = 0x55ea409b7a28} full_args = {arr = {buffer = <optimized out>, element_size = 8}, v = <optimized out>, v_modifiable = <optimized out>} i = <optimized out> cli = <optimized out> tcp_server = <optimized out> mail_cmd = {alloc = 0x7f4b37098d00 , name = 0x7f4b370992b6 "quota get", usage_args = 0x7f4b37099291 ""} dashdash = 0x55ea3f4e07ca "--" args_pos = 1 #8 0x000055ea3f4b5c98 in doveadm_cmd_run_ver2 (argc=argc@entry=1, argv=argv@entry=0x55ea40997150, cctx=cctx@entry=0x7fff9a1cb990) at doveadm-cmd.c:574 param = <optimized out> pargv = {arr = {buffer = 0x55ea40997410, element_size = 104}, v = 0x55ea40997410, v_modifiable = 0x55ea40997410} opts = {arr = {buffer = <optimized out>, element_size = 32}, v = <optimized out>, v_modifiable = <optimized out>} pargc = 4 c = -1 li = 102607314 pool = 0x55ea40997240 optbuf = 0x55ea40997258 __func__ = "doveadm_cmd_run_ver2" #9 0x000055ea3f4ba020 in doveadm_cmd_server_run_ver2 (cctx=0x7fff9a1cb990, argv=0x55ea40997150, argc=1, conn=0x55ea409ebbd8) at client-connection-tcp.c:178 No locals. #10 doveadm_cmd_handle (cctx=0x7fff9a1cb990, argv=0x55ea40997150, argc=1, cmd_name=<optimized out>, conn=0x55ea409ebbd8) at client-connection-tcp.c:342 mail_cmd = <optimized out> mctx = <optimized out> cmd_ver2 = <optimized out> prev_ioloop = 0x55ea4099fcb0 cmd = 0x0 #11 client_handle_command (args=<optimized out>, conn=0x55ea409ebbd8) at client-connection-tcp.c:415 cctx = {cmd = 0x55ea409b53d8, argc = 4, argv = 0x55ea40997448, username = 0x55ea40997119 "test.pop@test.xxx.it", local_ip = {family = 2, u = {ip6 = {__in6_u = { __u6_addr8 = "\300\240\nd", '\000', __u6_addr16 = {41152, 25610, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1678418112, 0, 0, 0}}}, ip4 = { s_addr = 1678418112}}}, remote_ip = {family = 2, u = {ip6 = {__in6_u = {__u6_addr8 = "\n\v/<", '\000' = "io_loop_call_io" #14 0x00007f4b3b2e9fa3 in io_loop_handler_run_internal (ioloop=ioloop@entry=0x55ea4099fcb0) at ioloop-epoll.c:221 ctx = 0x55ea409a57a0 events = <optimized out> list = 0x55ea409e9e80 io = <optimized out> tv = {tv_sec = 2147483, tv_usec = 0} events_count = <optimized out> msecs = <optimized out> ret = 1 i = 0 call = <optimized out> __func__ = "io_loop_handler_run_internal" #15 0x00007f4b3b2e8666 in io_loop_handler_run (ioloop=ioloop@entry=0x55ea4099fcb0) at ioloop.c:756 __func__ = "io_loop_handler_run" #16 0x00007f4b3b2e8888 in io_loop_run (ioloop=0x55ea4099fcb0) at ioloop.c:729 __func__ = "io_loop_run" #17 0x00007f4b3b25b2d3 in master_service_run (service=0x55ea4099fb40, callback=callback@entry=0x55ea3f4bd260, __u6_addr16 = {2826, 15407, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1009715978, 0, 0, 0}}}, ip4 = {s_addr = 1009715978}}}, local_port = 924, remote_port = 54042, conn_type = DOVEADM_CONNECTION_TYPE_TCP, input = 0x55ea409b0db0, output = 0x55ea409b6cf0} flags = <optimized out> cmd_name = <optimized out> argc = <optimized out> ---Type <return> to continue, or q <return> to quit--- #12 client_connection_tcp_input (conn=0x55ea409ebbd8) at client-connection-tcp.c:561 args = <optimized out> _data_stack_cur_id = 3 line = <optimized out> ok = true minor = 0 #13 0x00007f4b3b2e855f in io_loop_call_io (io=0x55ea409c5b10) at ioloop.c:704 ioloop = 0x55ea4099fcb0 t_id = 2 __func__ ) at master-service.c:781 No locals. #18 0x000055ea3f493421 in main (argc=1, argv=0x55ea4099f890) at main.c:151 set_roots = {0x7f4b3b57cd00 , 0x55ea3f7026a0 , 0x0} input = {roots = 0x7fff9a1cbb70, config_path = 0x0, preserve_environment = false, preserve_user = false, preserve_home = false, never_exec = false, use_sysexits = false, parse_full_config = false, module = 0x55ea3f4dcd3a "doveadm", service = 0x55ea3f4dcd3a "doveadm", username = 0x0, local_ip = {family = 0, u = {ip6 = {__in6_u = { __u6_addr8 = '\000' , __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' , __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, local_name = 0x0} output = {specific_services = 0x0, service_uses_local = false, service_uses_remote = false, used_local = false, used_remote = false, permission_denied = false} error = 0x7f4b3aca3ca7 "__vdso_getcpu" c = <optimized out> (gdb) # 2.3.7.2 (3c910f64b): /new_config/dovecot/dovecot_test/dovecot.conf # Pigeonhole version 0.5.7.2 (7372921a) # OS: Linux 3.10.0-957.21.3.el7.x86_64 x86_64 CentOS Linux release 7.6.1810 (Core) # Hostname: pop10 auth_debug = yes auth_master_user_separator = * auth_username_format = base_dir = /data/dovecot/var/run/dovecot_test default_vsz_limit = 768 M dict { sqlquota = mysql:/new_config/dovecot/common/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no doveadm_password = # hidden, use -P to show it first_valid_gid = 101 first_valid_uid = 102 imap_id_send = import_environment = TZ info_log_path = /LOGS/dovecot/dovecot_test.log instance_name = dovecot_test listen = dovecot_test log_path = /LOGS/dovecot/dovecot_test.log log_timestamp = "%Y-%m-%d %H:%M:%S " mail_gid = 101 mail_location = maildir:%h/Maildir mail_max_userip_connections = 50 mail_plugins = quota mail_log notify virtual fts fts_lucene mail_uid = 102 maildir_broken_filename_sizes = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vnd.dovecot.debug mbox_write_locks = fcntl namespace { hidden = yes list = no location = virtual:/new_config/dovecot/common/virtual:INDEX=~/virtual:SUBSCRIPTIONS=.subscriptions/%u prefix = Messaggi in arrivo. separator = . subscriptions = no } namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX. separator = . subscriptions = yes type = private } passdb { args = /new_config/dovecot/common/passwd.masterusers driver = passwd-file master = yes } passdb { args = /new_config/dovecot/dovecot_test/dovecot-ldap.conf driver = ldap } passdb { args = /new_config/dovecot/common/dovecot-ldap-multiuser.conf driver = ldap master = yes } passdb { args = /new_config/dovecot/common/dovecot-ldap-webmaillight.conf.ext driver = ldap master = yes } plugin { fts = lucene fts_autoindex = yes fts_autoindex_max_recent = 1000 fts_lucene = mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change save mailbox_create mail_log_fields = uid box msgid size flags quota = dict:User quota::proxy::sqlquota quota_rule2 = INBOX.Trash:storage=+100M sieve_default = /new_config/dovecot/common/default.sieve sieve_extensions = +vnd.dovecot.debug } postmaster_address = posta@fooo.it service anvil { client_limit = 8000 } service auth { client_limit = 12000 unix_listener auth-userdb { mode = 0600 } } service dict { process_limit = 7500 process_min_avail = 10 unix_listener dict { mode = 0600 user = dovecot } } service doveadm { chroot = client_limit = 1 drop_priv_before_exec = no executable = doveadm-server extra_groups = group = idle_kill = 0 inet_listener { port = 924 } privileged_group = process_limit = 0 process_min_avail = 10 protocol = service_count = 100 type = unix_listener doveadm-server { group = mode = 0600 user = } user = } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_limit = 5000 process_min_avail = 10 } service imap { drop_priv_before_exec = yes process_limit = 5000 process_min_avail = 10 } service lmtp { inet_listener lmtp { port = 24 } process_limit = 2500 process_min_avail = 10 } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { drop_priv_before_exec = yes process_limit = 1024 } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } process_limit = 1000 process_min_avail = 5 } service pop3 { drop_priv_before_exec = yes process_limit = 1000 process_min_avail = 5 } ssl_cert =