auth-worker: Error: double free or corruption (fasttop)

Marcel Lorenz lorenz.marcel at web.de
Wed Jan 16 13:35:14 EET 2019


Dear list,

since the distri upgrade to glibc 2.28, i can't build working dovecot 
binary's.
Older with glibc 2.27 are working. The distri is LFS based.
MariaDB 10.2.18 and 10.3.11 makes no difference. Having this on 
different systems.

Messages Log:
Dec 19 17:10:38 test kernel: traps: auth[30189] general protection 
ip:7f4b96d6598c sp:7ffef1f31710 error:0 in 
libmariadb.so.3[7f4b96d4e000+67000]
Dec 19 17:11:39 test kernel: auth[30299]: segfault at 560c57366c40 ip 
0000560c57366c40 sp 00007fffe5b51f18 error 15
Dec 19 17:12:39 test kernel: traps: auth[30346] general protection 
ip:7f55601f298c sp:7ffe597929c0 error:0 in 
libmariadb.so.3[7f55601db000+67000]
Dec 19 17:13:39 test kernel: traps: auth[30392] general protection 
ip:7fcd2317298c sp:7ffecd6f4cb0 error:0 in 
libmariadb.so.3[7fcd2315b000+67000]

Dovecot log:
2018-12-19 17:07:37 auth-worker: Fatal: master: service(auth-worker): 
child 30053 killed with signal 11 (core dumped)
2018-12-19 17:09:38 auth-worker: Error: double free or corruption 
(fasttop)
2018-12-19 17:09:38 auth-worker: Fatal: master: service(auth-worker): 
child 30098 killed with signal 6 (core dumped)
2018-12-19 17:10:38 auth-worker: Fatal: master: service(auth-worker): 
child 30189 killed with signal 11 (core dumped)

Output of dovecot -n:

# 2.3.4 (0ecbaf23d): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 (60b0f48d)
# OS: Linux 4.14.80 x86_64
# Hostname: test.testing.local
auth_mechanisms = plain login
auth_username_chars = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_ at +*#"
base_dir = /var/run/dovecot/
debug_log_path = /var/log/dovecot/debug.log
dict {
   expire = mysql:/etc/dovecot/dovecot-dict-sql-expire.conf
   sqldomainquota = mysql:/etc/dovecot/dovecot-dict-sql-domain.conf
   sqluserquota = mysql:/etc/dovecot/dovecot-dict-sql-user.conf
}
info_log_path = /var/log/dovecot/info.log
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
log_path = /var/log/dovecot/main.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = dovecot ready
login_log_format = %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c 
%k
mail_location = mdbox:/var/vmail/%d/%n/
mail_max_userip_connections = 4
mail_plugins = " zlib quota expire acl fts fts_lucene"
mailbox_idle_check_interval = 1 mins
maildir_very_dirty_syncs = 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
namespace {
   list = children
   location = maildir:/var/vmail/%d/public:INDEXPVT=/var/vmail/%d/public
   prefix = Public.
   separator = .
   subscriptions = no
   type = public
}
namespace {
   list = children
   location = 
maildir:/var/vmail/%d/%%u:CONTROL=/var/vmail/%d/shared/%%u:INDEX=/var/vmail/$
   prefix = shared.%%n.
   separator = .
   subscriptions = yes
   type = shared
}
namespace inbox {
   inbox = yes
   location =
   mailbox Archive {
     auto = subscribe
     special_use = \Archive
   }
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix =
   separator = .
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
}
plugin {
   acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
   al = vfile
   expire = Trash
   expire2 = Trash/*
   expire3 = Spam
   expire_cache = yes
   expire_dict = proxy::expire
   fts = lucene
   fts_lucene = whitespace_chars=@.-+_*:/\"'
   last_login_key = # hidden, use -P to show it
   quota = dict:User Quota::proxy::sqluserquota
   quota_exceeded_message = Quota exceeded
   quota_grace = 10%%
   quota_rule2 = Trash:storage=+15%%
   quota_rule3 = Spam:ignore
   quota_status_nouser = DUNNO
   quota_status_overquota = 552 5.2.2 Mailbox is over quota / Postfach 
ist voll
   quota_status_success = DUNNO
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve = /var/vmail/%d/%n/sieve/active-script.sieve
   sieve_before = /var/vmail/sieve/spam-global.sieve
   sieve_dir = /var/vmail/%d/%n/sieve/scripts/
   sieve_global = /var/lib/dovecot/sieve/global/
   sieve_max_actions = 32
   sieve_max_redirects = 4
   sieve_max_script_size = 1M
   trash = /etc/dovecot/dovecot-trash.conf
   zlib_save = gz
   zlib_save_level = 6
}
postmaster_address = postmaster at testing.local
protocols = imap pop3 lmtp sieve
service auth-worker {
   user = doveauth
}
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-userdb {
     mode = 0660
     user = doveauth
   }
}
service dict {
   unix_listener dict {
     mode = 0600
     user = vmail
   }
}
service imap-login {
   inet_listener imap {
     port = 143
   }
   inet_listener imaps {
     port = 993
     ssl = yes
   }
   process_min_avail = 0
}
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
     group = postfix
     mode = 0660
     user = postfix
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   service_count = 1
}
service pop3-login {
   inet_listener pop3 {
     port = 110
   }
   inet_listener pop3s {
     port = 995
     ssl = yes
   }
}
service quota-status {
   client_limit = 1
   executable = quota-status -p postfix
   inet_listener {
     port = 10022
   }
}
service quota-warning {
   executable = script /usr/local/bin/quota-warning.sh
   user = vmail
}
ssl_alt_cert = </etc/ssl/certs/postfix-rsa.crt
ssl_alt_key = # hidden, use -P to show it
ssl_cert = </etc/ssl/certs/postfix-ecc.crt
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = yes
userdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
}
verbose_proctitle = yes
protocol imap {
   imap_logout_format = in=%i out=%o
   imap_max_line_length = 64 k
   mail_max_userip_connections = 10
   mail_plugins = " zlib quota expire acl fts fts_lucene acl imap_acl 
imap_quota mail_log last_login notify imap_zlib trash"
}
protocol pop3 {
   mail_max_userip_connections = 4
   mail_plugins = " zlib quota expire acl fts fts_lucene last_login 
expire"
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
   pop3_enable_last = no
   pop3_lock_session = no
   pop3_logout_format = retr=%r/%b, del=%d/%m, size=%s
   pop3_no_flag_updates = yes
   pop3_reuse_xuidl = no
   pop3_save_uidl = yes
   pop3_uidl_format = %08Xu%08Xv
}
protocol lmtp {
   mail_plugins = " zlib quota expire acl fts fts_lucene sieve"
   postmaster_address = postmaster at test.local
}
protocol lda {
   auth_socket_path = /var/run/dovecot/auth-master
   info_log_path = /var/log/dovecot/deliver.log
   log_path = /var/log/dovecot/deliver.log
   mail_fsync = optimized
   mail_plugins = " zlib quota expire acl fts fts_lucene trash autocreate 
sieve"
   postmaster_address = postmaster at testing.local
   quota_full_tempfail = yes
   rejection_reason = Your message to <%t> with subject of <%s> was 
automatically rejected:%n%r
   rejection_subject = Mailbox Full: %s
}
protocol sieve {
   mail_max_userip_connections = 10
   managesieve_implementation_string = Dovecot Pigeonhole
   managesieve_logout_format = bytes=%i/%o
   managesieve_max_compile_errors = 5
   managesieve_max_line_length = 65536
}

Thanks in advance!
Marcel


More information about the dovecot mailing list