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

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



Op 16/01/2019 om 12:35 schreef Marcel Lorenz:
> 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)

It says "core dumped". Can you obtain a gdb backtrace from those? 
https://www.dovecot.org/bugreport.html

Regards,

Stephan.

> 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