auth-worker: Error: double free or corruption (fasttop)
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.-_@+*#" 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@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 = 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
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.-_@+*#" 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@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 = 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
Hi,
Sorry fo my late answer. The hole disty are stripped. I must first rebuild all with debug symbols. Here comes the complete gdb backtrace:
(gdb) bt full #0 0x00007f49738486f7 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007f497384a091 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007f497389220f in __libc_message () from /lib64/libc.so.6 No symbol table info available. #3 0x00007f4973899b5a in malloc_printerr () from /lib64/libc.so.6 No symbol table info available. #4 0x00007f497389fcb4 in free () from /lib64/libc.so.6 No symbol table info available. #5 0x00007f4974e2c7bd in mysql_close (mysql=0x55c7d97dd860) at /usr/src/mariadb-10.3.11/libmariadb/libmariadb/mariadb_lib.c:1939 No locals. #6 0x000055c7d7b15f4c in driver_sqlpool_disconnect (_db=0x55c7d97dca10) at driver-sqlpool.c:590 conn__foreach_end = 0x55c7d97dd010 db = 0x55c7d97dca10 conn = 0x55c7d97dd000 #7 0x000055c7d7b07cd5 in db_sql_unref (_conn=0x55c7d97d4678) at db-sql.c:128 conn = 0x55c7d97dbe28 #8 0x000055c7d7afefa9 in userdb_deinit (userdb=0x55c7d97d4650) at userdb.c:191 idx = 0 __func__ = "userdb_deinit" #9 0x000055c7d7ae31a9 in auth_deinit (auth=0x55c7d97d4f40) at auth.c:335 passdb = <optimized out> userdb = 0x55c7d97d5068 passdb = <optimized out> userdb = <optimized out> #10 auths_deinit () at auth.c:433 auth__foreach_end = 0x55c7d97dbda0 auth = 0x55c7d97dbd98 #11 0x000055c7d7ae1d73 in main_deinit () at main.c:271 l = <optimized out> l = <optimized out> l_end = <optimized out> #12 main (argc=<optimized out>, argv=<optimized out>) at main.c:398 c = <optimized out> (gdb)
Hope it helps...
Regards, Marcel
Am 20.1.2019 12:51, schrieb Stephan Bosch:
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.-_@+*#" 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@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 = 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
participants (3)
-
Aki Tuomi
-
Marcel Lorenz
-
Stephan Bosch