<html><head><title>auth core dump</title>
</head>
<body>
<span style=" font-family:'calibri'; font-size: 11pt;">Hello.<br>
<br>
After upgrade from FreeBSD 11 to FreeBSD 12 and Dovecot 2.2 to Dovecot 2.3 hanged auth when user connected to imap:<br>
<br>
Jan 10 15:53:46 master: Info: Dovecot v2.3.4 (0ecbaf23d) starting up for imap, pop3<br>
Jan 10 15:54:09 auth-worker: Fatal: master: service(auth-worker): child 56308 killed with signal 11 (core dumped)<br>
Jan 10 15:54:09 master: Error: service(auth-worker): command startup failed, throttling for 2 secs<br>
Jan 10 15:54:09 auth: Error: auth worker: Aborted PASSV request for roman@host.ru: Worker process died unexpectedly<br>
Jan 10 15:54:11 imap-login: Info: Disconnected (auth service reported temporary failure): user=<roman@host.ru>, method=PLAIN, rip=xxx.xxx.xxx.xxx, lip=yyy.yyy.yyy.yyy, TLS: Connection closed, session=<MKjHEhp/afAl666T><br>
<br>
dump:<br>
<br>
user@host:/var # gdb /usr/local/libexec/dovecot/auth /var/coredumps/auth.core<br>
GNU gdb (GDB) 8.2 [GDB v8.2 for FreeBSD]<br>
Copyright (C) 2018 Free Software Foundation, Inc.<br>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html><br>
This is free software: you are free to change and redistribute it.<br>
There is NO WARRANTY, to the extent permitted by law.<br>
Type "show copying" and "show warranty" for details.<br>
This GDB was configured as "x86_64-portbld-freebsd12.0".<br>
Type "show configuration" for configuration details.<br>
For bug reporting instructions, please see:<br>
<http://www.gnu.org/software/gdb/bugs/>.<br>
Find the GDB manual and other documentation resources online at:<br>
    <http://www.gnu.org/software/gdb/documentation/>.<br>
<br>
For help, type "help".<br>
Type "apropos word" to search for commands related to "word"...<br>
Reading symbols from /usr/local/libexec/dovecot/auth...done.<br>
[New LWP 100153]<br>
Core was generated by `dovecot/auth -w'.<br>
Program terminated with signal SIGSEGV, Segmentation fault.<br>
#0  strcmp () at /usr/src/lib/libc/amd64/string/strcmp.S:46<br>
46              movq    8(%rdi),%rax<br>
(gdb) bt full<br>
#0  strcmp () at /usr/src/lib/libc/amd64/string/strcmp.S:46<br>
No locals.<br>
#1  0x0000000011a0c5dd in lh_insert () from /usr/local/lib/libcrypto.so.9<br>
No symbol table info available.<br>
#2  0x000000001192d92e in OBJ_NAME_add () from /usr/local/lib/libcrypto.so.9<br>
No symbol table info available.<br>
#3  0x0000000012306c4d in openssl_add_all_ciphers_int () at /usr/src/crypto/openssl/crypto/evp/c_allc.c:83<br>
No locals.<br>
#4  0x0000000012306579 in ossl_init_add_all_ciphers () at /usr/src/crypto/openssl/crypto/init.c:216<br>
No locals.<br>
#5  ossl_init_add_all_ciphers_ossl_ () at /usr/src/crypto/openssl/crypto/init.c:205<br>
No locals.<br>
#6  0x0000000011bfde28 in _pthread_once (once_control=0x123863b0, init_routine=0x12306570 <ossl_init_add_all_ciphers_ossl_>) at /usr/src/lib/libthr/thread/thr_once.c:97<br>
        __cup = <optimized out><br>
        curthread = 0x1250d000<br>
        state = <optimized out><br>
#7  0x0000000012305c29 in CRYPTO_THREAD_run_once (once=0xfffffffffffffff8, init=0xfffffffffffffff8) at /usr/src/crypto/openssl/crypto/threads_pthread.c:113<br>
No locals.<br>
#8  0x0000000012306027 in OPENSSL_init_crypto (opts=76, settings=0x0) at /usr/src/crypto/openssl/crypto/init.c:611<br>
        ret = <optimized out><br>
#9  0x000000001207db7d in OPENSSL_init_ssl (opts=0, settings=0xfffffffffffffff8) at /usr/src/crypto/openssl/ssl/ssl_init.c:197<br>
        stoperrset = <error reading variable stoperrset (Cannot access memory at address 0x0)><br>
#10 0x000000001173525f in ssl_start () from /usr/local/lib/mysql/libmysqlclient.so.20<br>
No symbol table info available.<br>
#11 0x00000000116f112f in mysql_server_init () from /usr/local/lib/mysql/libmysqlclient.so.20<br>
No symbol table info available.<br>
#12 0x000000001171a607 in mysql_init () from /usr/local/lib/mysql/libmysqlclient.so.20<br>
No symbol table info available.<br>
#13 0x00000000010a25eb in driver_mysql_connect (_db=0x12540048) at driver-mysql.c:93<br>
        db = 0x12540048<br>
        unix_socket = 0x0<br>
        host = 0x5c3746e5 <error: Cannot access memory at address 0x5c3746e5><br>
        client_flags = 0<br>
        secs_used = 0<br>
        start_time = 140737488349440<br>
        failed = false<br>
#14 0x000000000109d851 in sql_connect (db=0x12540048) at sql-api.c:149<br>
        now = 1547126501<br>
#15 0x00000000010a011f in driver_sqlpool_connect (_db=0x12590000) at driver-sqlpool.c:575<br>
        conn__foreach_end = 0x1252d290<br>
        db = 0x12590000<br>
        conn = 0x1252d280<br>
        ret = -1<br>
        ret2 = 0<br>
#16 0x000000000109d851 in sql_connect (db=0x12590000) at sql-api.c:149<br>
        now = 1547126501<br>
#17 0x0000000001087349 in db_sql_connect (conn=0x1253fc48) at db-sql.c:140<br>
No locals.<br>
#18 0x0000000001086249 in passdb_sql_init (_module=0x125609d0) at passdb-sql.c:286<br>
        module = 0x125609d0<br>
        flags = (SQL_DB_FLAG_BLOCKING | SQL_DB_FLAG_POOLED)<br>
#19 0x0000000001079c57 in passdb_init (passdb=0x125609d0) at passdb.c:248<br>
No locals.<br>
#20 0x0000000001050b19 in auth_passdb_init (passdb=0x125608f0) at auth.c:306<br>
No locals.<br>
#21 0x000000000104feec in auth_init (auth=0x125608b8) at auth.c:320<br>
        passdb = 0x125608f0<br>
        userdb = 0x106bf42 <array_create_i+66><br>
#22 0x000000000104fe6c in auths_init () at auth.c:425<br>
        auth__foreach_end = 0x12532148<br>
        auth = 0x12532140<br>
#23 0x000000000104e832 in main_init () at main.c:245<br>
No locals.<br>
#24 0x000000000104e563 in main (argc=2, argv=0x7fffffffeb60) at main.c:394<br>
        c = -1<br>
(gdb)<br>
<br>
Configuration:<br>
<br>
user@host:~ # dovecot -n<br>
# 2.3.4 (0ecbaf23d): /usr/local/etc/dovecot/dovecot.conf<br>
# OS: FreeBSD 12.0-STABLE amd64<br>
# Hostname: host.ru<br>
auth_mechanisms = plain login<br>
base_dir = /var/run/dovecot/<br>
first_valid_uid = 1<br>
last_valid_gid = 5000<br>
last_valid_uid = 5000<br>
log_path = /var/log/dovecot.log<br>
mail_gid = 90<br>
mail_location = maildir:~/Maildir<br>
mail_uid = 90<br>
namespace inbox {<br>
  inbox = yes<br>
  location =<br>
  prefix =<br>
}<br>
passdb {<br>
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext<br>
  driver = sql<br>
}<br>
protocols = imap pop3<br>
service auth-worker {<br>
  drop_priv_before_exec = yes<br>
}<br>
service imap-login {<br>
  inet_listener imap {<br>
    port = 0<br>
  }<br>
}<br>
service pop3-login {<br>
  inet_listener pop3 {<br>
    port = 0<br>
  }<br>
}<br>
ssl_cert = </usr/local/etc/ssl/host.ru/certs/fullchain.pem<br>
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL<br>
ssl_dh = # hidden, use -P to show it<br>
ssl_key = # hidden, use -P to show it<br>
userdb {<br>
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext<br>
  driver = sql<br>
}<br>
protocol imap {<br>
  mail_plugins = quota imap_quota<br>
}<br>
protocol pop3 {<br>
  mail_plugins = quota<br>
}<br>
user@host:~ #<br>
<br>
user@host:~ # openssl version<br>
OpenSSL 1.1.1a-freebsd  20 Nov 2018<br>
user@host:~ #<br>
<br>
Why this can be?</body></html>