Hello,
At the moment I am investigating an issue (probably) related to Dovecot /zlib. I am hoping someone is willing to help. Thanks.
#Background information
Every time a certain user checked her e-mail the following errors would appear in "/var/log/mail.err" (please find the lines below).
I am using zlib (please find the details in the configuration below).
I did include the Dovecot version, OS details, CPU details and file system details in this message.
I did migrate the whole mail domain to Microsoft 365 (as the user has an active subscription and had to move on - for me this was the fastest method to help the user in this case).
The mailbox still exists on the server. I suspect there's file corruption somewhere? I am routing mail from the domain to xxxxx-xx.mail.protection.outlook.com (just to be sure that the user doesn't miss anything - mx records have been updated).
I did notice that the user had issues with receiving mail. Outlook would keep trying to fetch mail and was hard to close (user had to kill Outlook through the task manager - after migrating to Microsoft 365 this problem is resolved too).
I would like to find out what causes/caused this problem. I would like to understand the problem and would like to try to avoid future problems.
I did run "dovecot-sysreport" but I did notice the data is not anonymized. I can anonymize the details and submit those if required.
#Dovcecot version
root@s1:/# dovecot --version 2.3.4.1 (f79e8e7e4)
#Operating system
root@s1:/# uname -a Linux s1 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
root@s1:/# cat /etc/debian_version 10.9
#CPU Architecture
root@s1:/# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian
#File System
ext4 errors=continue,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
#Errors
May 17 22:37:11 s1 dovecot: imap(xxxx@xxxxx.xx)<18570><MxyEjIzCs8pSoYVo>: Panic: file ostream-zlib.c: line 37 (o_stream_zlib_close): assertion failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0 || zstream->ostream.error_handling_disabled)
May 17 22:37:11 s1 dovecot: imap(xxxx@xxxxx.xx)<18570><MxyEjIzCs8pSoYVo>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xdb73b) [0x7f45c109973b] -> /usr/lib/dovecot/libdovecot.so.0(+0xdb7d1) [0x7f45c10997d1] -> /usr/lib/dovecot/libdovecot.so.0(+0x4a199) [0x7f45c1008199] -> /usr/lib/dovecot/modules/lib20_zlib_plugin.so(+0x3c6f) [0x7f45c0dc3c6f] -> /usr/lib/dovecot/libdovecot.so.0(+0xffd5e) [0x7f45c10bdd5e] -> /usr/lib/dovecot/libdovecot.so.0(o_stream_destroy+0x16) [0x7f45c10bdd86] -> /usr/lib/dovecot/libdovecot-storage.so.0(maildir_save_finish+0x18d) [0x7f45c11d046d] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_save_cancel+0x4d) [0x7f45c11a867d] -> dovecot/imap(+0x10f36) [0x5606b3187f36] -> dovecot/imap(+0x10ff3) [0x5606b3187ff3] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x6f) [0x7f45c10afbef] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x136) [0x7f45c10b11e6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x4c) [0x7f45c10afc8c] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) [0x7f45c10afdf0] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f45c1030123] -> dovecot/imap(main+0x325) [0x5606b3187bf5] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f45c0e1309b] -> dovecot/imap(_start+0x2a) [0x5606b3187d8a]
May 17 22:37:11 s1 dovecot: imap(xxxx@xxxxx.xx)<18570><MxyEjIzCs8pSoYVo>: Fatal: master: service(imap): child 18570 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
May 17 22:54:52 s1 dovecot: imap(xxxx@xxxxx.xx)<20321><HrbpyozCn8tSoYVo>: Panic: file ostream-zlib.c: line 37 (o_stream_zlib_close): assertion failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0 || zstream->ostream.error_handling_disabled)
May 17 22:54:52 s1 dovecot: imap(xxxx@xxxxx.xx)<20321><HrbpyozCn8tSoYVo>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xdb73b) [0x7fda4a55473b] -> /usr/lib/dovecot/libdovecot.so.0(+0xdb7d1) [0x7fda4a5547d1] -> /usr/lib/dovecot/libdovecot.so.0(+0x4a199) [0x7fda4a4c3199] -> /usr/lib/dovecot/modules/lib20_zlib_plugin.so(+0x3c6f) [0x7fda4a27ec6f] -> /usr/lib/dovecot/libdovecot.so.0(+0xffd5e) [0x7fda4a578d5e] -> /usr/lib/dovecot/libdovecot.so.0(o_stream_destroy+0x16) [0x7fda4a578d86] -> /usr/lib/dovecot/libdovecot-storage.so.0(maildir_save_finish+0x18d) [0x7fda4a68b46d] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_save_cancel+0x4d) [0x7fda4a66367d] -> dovecot/imap(+0x10f36) [0x5559c9e82f36] -> dovecot/imap(+0x10ff3) [0x5559c9e82ff3] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x6f) [0x7fda4a56abef] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x136) [0x7fda4a56c1e6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x4c) [0x7fda4a56ac8c] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) [0x7fda4a56adf0] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7fda4a4eb123] -> dovecot/imap(main+0x325) [0x5559c9e82bf5] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fda4a2ce09b] -> dovecot/imap(_start+0x2a) [0x5559c9e82d8a]
May 17 22:54:52 s1 dovecot: imap(xxxx@xxxxx.xx)<20321><HrbpyozCn8tSoYVo>: Fatal: master: service(imap): child 20321 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
#Config
root@s1:/opt/scripts# dovecot -n # 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.4 () # OS: Linux 4.19.0-16-amd64 x86_64 Debian 10.9 # Hostname: s1.xxxxx.xx auth_mechanisms = plain login disable_plaintext_auth = no imap_capability = +SPECIAL-USE XLIST listen = *,[::] lmtp_rcpt_check_quota = yes log_timestamp = "%Y-%m-%d %H:%M:%S " mail_max_userip_connections = 100 mail_plugins = quota zlib mail_privileged_group = vmail namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . } passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is full quota_status_success = DUNNO sieve = /var/vmail/%d/%n/.sieve sieve_after = /var/vmail/%d/%n/.ispconfig.sieve sieve_before = /var/vmail/%d/%n/.ispconfig-before.sieve sieve_max_actions = 100 sieve_max_redirects = 25 sieve_max_script_size = 2M zlib_save = gz zlib_save_level = 9 } protocols = imap pop3 lmtp service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } user = root } service imap-login { client_limit = 1000 process_limit = 512 } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service quota-status { client_limit = 1 executable = quota-status -p postfix unix_listener /var/spool/postfix/private/quota-status { group = postfix mode = 0660 user = postfix } } service stats { unix_listener stats-reader { group = vmail mode = 0660 user = vmail } unix_listener stats-writer { group = vmail mode = 0660 user = vmail } } ssl_cert = </etc/postfix/smtpd.cert ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it ssl_min_protocol = TLSv1.2 userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { auth_verbose = yes mail_plugins = quota zlib quota imap_quota } protocol pop3 { auth_verbose = yes mail_plugins = quota zlib quota pop3_uidl_format = %08Xu%08Xv } protocol lda { mail_plugins = quota zlib sieve quota postmaster_address = postmaster@xxxxx.xx } protocol lmtp { mail_plugins = quota zlib quota sieve postmaster_address = postmaster@xxxxx.xx
-- Kind regards,
Bouke J. Henstra