Can you try if https://github.com/dovecot/core/commit/3c5101ffdd2a8115e03ed7180d53578765dea4c9.patch helps?
Aki
On 20 January 2019 at 15:05 Bogomil Vasilev via dovecot < dovecot@dovecot.org> wrote:
Hello,
I rebuilt mariadb and dovecot with debug symbols.The backtrace is this:
Program terminated with signal SIGABRT, Aborted.#0 0x00007fb040e0cd7f in raise () from /usr/lib/libc.so.6(gdb) bt full#0 0x00007fb040e0cd7f in raise () from /usr/lib/libc.so.6No symbol table info available.#1 0x00007fb040df7672 in abort () from /usr/lib/libc.so.6No symbol table info available.#2 0x00007fb040e4f878 in __libc_message () from /usr/lib/libc.so.6No symbol table info available.#3 0x00007fb040e5618a in malloc_printerr () from /usr/lib/libc.so.6No symbol table info available.#4 0x00007fb040e57b27 in _int_free () from /usr/lib/libc.so.6No symbol table info available.#5 0x00007fb04114db89 in mysql_close (mysql=0x5592728448e0) at/usr/src/debug/mariadb-10.3.12/libmariadb/libmariadb/mariadb_lib.c:1940p = <optimized out>#6 mysql_close (mysql=0x5592728448e0) at/usr/src/debug/mariadb-10.3.12/libmariadb/libmariadb/mariadb_lib.c:1913p = <optimized out>#7 0x00005592724e2dac in driver_sqlpool_disconnect (_db=0x559272843be0)at driver-sqlpool.c:590conn__foreach_end = 0x559272844090db = 0x559272843be0conn = 0x559272844080#8 0x00005592724d78fc in db_sql_unref (_conn=0x55927283b5e8) atdb-sql.c:128conn = 0x559272843818#9 0x00005592724cf89c in userdb_deinit (userdb=0x55927283b5c0) atuserdb.c:191idx = 0__func__ = "userdb_deinit"#10 0x00005592724afbb9 in auth_deinit (auth=0x55927283b320) atauth.c:335passdb = <optimized out>userdb = 0x55927283b4e0passdb = <optimized out>userdb = <optimized out>#11 auths_deinit () at auth.c:433auth__foreach_end = 0x559272842e18auth = 0x559272842e10#12 0x00005592724ae664 in main_deinit () at main.c:271l = <optimized out>l = <optimized out>l_end = <optimized out>#13 main (argc=<optimized out>, argv=<optimized out>) at main.c:398c = <optimized out>(gdb)
My `dovecot -n` output is this:
0 « root » /home/smirky/stuff/ABS/dovecot # dovecot -n# 2.3.4 (0ecbaf23d): /etc/dovecot/dovecot.conf# Pigeonhole version 0.5.4 (60b0f48d)# OS: Linux 5.0.0-rc2-mainline x86_64 Arch Linux# Hostname: archydict {quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext}mail_home = /home/vmail/%d/%umail_location = maildir:~mail_plugins = quotamanagesieve_notify_capability = mailtomanagesieve_sieve_capability = fileinto reject envelopeencoded-character vacation subaddress comparator-i;ascii-numericrelational regex imap4flags copy include variables body enotifyenvironment mailbox date index ihave duplicate mime foreverypart extracttext imapsievevnd.dovecot.imapsievenamespace inbox {inbox = yeslocation =mailbox Drafts {auto = createspecial_use = \Drafts}mailbox Sent {auto = subscribespecial_use = \Sent}mailbox "Sent Messages" {auto = nospecial_use = \Sent}mailbox Spam {auto = subscribespecial_use = \Junk}mailbox Trash {auto = subscribespecial_use = \Trash}prefix =}passdb {args = /etc/dovecot/dovecot-sql.confdriver = sql}plugin {imapsieve_mailbox1_before = file:/etc/dovecot/sieve/report-spam.sieveimapsieve_mailbox1_causes = COPYimapsieve_mailbox1_name = Spamimapsieve_mailbox2_before = file:/etc/dovecot/sieve/report-ham.sieveimapsieve_mailbox2_causes = COPYimapsieve_mailbox2_from = Junkimapsieve_mailbox2_name = *quota = dict:User quota::proxy::quotadictquota_rule2 = Trash:storage=+10%%quota_warning = storage=95%% quota-warning 95 %uquota_warning2 = storage=80%% quota-warning 80 %uquota_warning3 = -storage=100%% quota-warning below 100 %usieve_before = /etc/dovecot/sieve/filter.sievesieve_global_extensions = +vnd.dovecot.pipesieve_pipe_bin_dir = /etc/dovecot/sievesieve_plugins = sieve_imapsieve sieve_extprograms}protocols = imap pop3 sieveservice auth-worker {unix_listener auth-worker {group = vmailmode = 0666user = vmail}}service auth {unix_listener /var/spool/postfix/private/auth {group = postfixmode = 0660user = postfix}user = root}service dict {unix_listener dict {group = vmailmode = 0660user = vmail}user = root}service imap-login {inet_listener imap {address = 127.0.0.1}}service managesieve-login {inet_listener sieve {port = 4190}}service pop3-login {inet_listener pop3 {address = 127.0.0.1}}service quota-warning {executable = script /usr/local/bin/quota-warning.shunix_listener quota-warning {group = vmailmode = 0660user = vmail}user = vmail}service stats {unix_listener stats-reader {group = vmailmode = 0660user = vmail}unix_listener stats-writer {group = vmailmode = 0660user = vmail}}ssl_cert = </etc/letsencrypt/live/smirky.net/fullchain.pemssl_dh = # hidden, use -P to show itssl_key = # hidden, use -P to show ituserdb {args = /etc/dovecot/dovecot-sql.confdriver = sql}protocol pop3 {mail_plugins = quotapop3_client_workarounds = outlook-no-nuls oe-ns-eohpop3_uidl_format = %08Xu%08Xv}protocol lda {mail_plugins = quotapostmaster_address = postmas...@smirky.net}protocol imap {mail_max_userip_connections = 20mail_plugin_dir = /usr/lib/dovecot/modulesmail_plugins = quota imap_quota imap_sieve}
---BOGOMIL VASILEVFor contacts, use this e-mail. My GPG key is 646F3ABF6E457336Website: HTTPS://WWW.SMIRKY.NET/
On 2019-01-20 13:22, Stephan Bosch wrote:
Op 20/01/2019 om 10:50 schreef Bogomil Vasilev via dovecot:
Hello,
I have started having issues with auth-worker. Dovecot version:
0 « root » ~ # dovecot --version2.3.4 (0ecbaf23d)0 « root » ~ # pacman -Q dovecotdovecot 2.3.4-2
OS: Arch Linux
From /var/log/mail.log:
Jan 20 11:31:29 archy dovecot[23070]: auth-worker: Fatal: master:service(auth-worker): child 9885 killed with signal 6 (core not dumped/proc/sys/fs/suid_dumpable to 2)
From dmesg:
[42113.729398] auth[8134]: segfault at 5579d8e1c8e0 ip00005579d8e1c8e0 sp 00007ffd44ab0df8 error 15[42113.729406] Code: 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 0000 00 21 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 20 7a af 07 e37f 00 00 <40> f4 b5 07 e3 7f 00 00 31 a0 00 00 00 00 00 00 e0 9f df d87955
This started happening on January 18th, after I upgraded Dovecot from"2.3.4-1" to "2.3.4-2".The package was rebuilt from our package maintainer due to bumpingMariaDB from 10.1.x to 10.3.x.Before that, I did not have any issues at all.However, I don't see any impact from this error too, at least not fornow.I made a coredump as the error suggests and I'm pasting it here, asper the bugreport rules:
0 « root » ~ # gdb /usr/lib/dovecot/auth /home/smirky/dovecot.dumpGNU gdb (GDB) 8.2.1Copyright (C) 2018 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or laterThis 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-pc-linux-gnu".Type "show configuration" for configuration details.For bug reporting instructions, please see:Find the GDB manual and other documentation resources online at:
For help, type "help".Type "apropos word" to search for commands related to "word"...Reading symbols from /usr/lib/dovecot/auth...(no debugging symbolsfound)...done.[New LWP 9549][Thread debugging using libthread_db enabled]Using host libthread_db library "/usr/lib/libthread_db.so.1".Core was generated by `dovecot/auth -w'.Program terminated with signal SIGABRT, Aborted.#0 0x00007fe1bb8ead7f in raise () from /usr/lib/libc.so.6(gdb) bt full#0 0x00007fe1bb8ead7f in raise () from /usr/lib/libc.so.6No symbol table info available.#1 0x00007fe1bb8d5672 in abort () from /usr/lib/libc.so.6No symbol table info available.#2 0x00007fe1bb92d878 in __libc_message () from /usr/lib/libc.so.6No symbol table info available.#3 0x00007fe1bb93418a in malloc_printerr () from /usr/lib/libc.so.6No symbol table info available.#4 0x00007fe1bb935b27 in _int_free () from /usr/lib/libc.so.6No symbol table info available.#5 0x00007fe1bbc2bb89 in mysql_close () from /usr/lib/libmariadb.so.3No symbol table info available.#6 0x0000563481946dac in ?? ()No symbol table info available.#7 0x000056348193b8fc in db_sql_unref ()No symbol table info available.#8 0x000056348193389c in userdb_deinit ()No symbol table info available.#9 0x0000563481913bb9 in auths_deinit ()No symbol table info available.#10 0x0000563481912664 in main ()No symbol table info available.(gdb)
The way I see it, indeed it is highly-likely to be related to theMariaDB version bump,but I cannot be entirely sure if it's not a bug in Dovecot, discoveredby this bump.Please let me know if you need any other info, related to my setup.It is very hard to be sure. Dovecot could be using the MariaDB APIwrong (e.g., calling mysql_close() more than once) causing it to callabort().
You should install debug symbols for Dovecot and perhaps also MariaDBto obtain a useful gdb backtrace. Now, it has no symbol table for anyof the function calls.
In most cases is useful to also provide your configuration (output from`dovecot -n`).
Regards,
Stephan.
---
Aki Tuomi
Aki Tuomi