auth-worker service failed since recent MariaDB upgrade

Stephan Bosch stephan at rename-it.nl
Sun Jan 20 13:22:01 EET 2019



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 --version
> 2.3.4 (0ecbaf23d)
>  0 « root » ~ # pacman -Q dovecot
> dovecot 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 
> - https://dovecot.org/bugreport.html#coredumps - set 
> /proc/sys/fs/suid_dum
> pable to 2)
>
> From dmesg:
>
> [42113.729398] auth[8134]: segfault at 5579d8e1c8e0 ip 
> 00005579d8e1c8e0 sp 00007ffd44ab0df8 error 15
> [42113.729406] Code: 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 
> 00 00 21 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 20 7a af 07 e3 
> 7f 00 00 <40> f4 b5 07 e3 7f 00 00 31 a0 00 00 00 00 00 00 e0 9f df d8 79
>  55
>
> 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 bumping 
> MariaDB 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 for 
> now.
> I made a coredump as the error suggests and I'm pasting it here, as 
> per the bugreport rules:
>
>  0 « root » ~ # gdb /usr/lib/dovecot/auth /home/smirky/dovecot.dump
> GNU gdb (GDB) 8.2.1
> Copyright (C) 2018 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-pc-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
>     <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/lib/dovecot/auth...(no debugging symbols 
> found)...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.6
> No symbol table info available.
> #1  0x00007fe1bb8d5672 in abort () from /usr/lib/libc.so.6
> No symbol table info available.
> #2  0x00007fe1bb92d878 in __libc_message () from /usr/lib/libc.so.6
> No symbol table info available.
> #3  0x00007fe1bb93418a in malloc_printerr () from /usr/lib/libc.so.6
> No symbol table info available.
> #4  0x00007fe1bb935b27 in _int_free () from /usr/lib/libc.so.6
> No symbol table info available.
> #5  0x00007fe1bbc2bb89 in mysql_close () from /usr/lib/libmariadb.so.3
> No 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 the 
> MariaDB version bump,
> but I cannot be entirely sure if it's not a bug in Dovecot, discovered 
> by 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 API wrong 
(e.g., calling mysql_close() more than once) causing it to call abort().

You should install debug symbols for Dovecot and perhaps also MariaDB to 
obtain a useful gdb backtrace. Now, it has no symbol table for any of 
the function calls.

In most cases is useful to also provide your configuration (output from 
`dovecot -n`).

Regards,

Stephan.




More information about the dovecot mailing list