zlib plugin producing errors on 2.3.0
Hello,
I use the zlib and imap_zlib plugins on FreeBSD. As of 2.3.0, my logs are producing these errors every so often, but AFAICT the messages themselves aren't getting corrupted.
Panic: file ostream-zlib.c: line 36 (o_stream_zlib_close): assertion failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0) Fatal: master: service(imap): child 80128 killed with signal 6 (core not dumped - set service imap { drop_priv_before_exec=yes }) Panic: file ostream-zlib.c: line 36 (o_stream_zlib_close): assertion failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0) Fatal: master: service(imap): child 80266 killed with signal 6 (core not dumped - set service imap { drop_priv_before_exec=yes })
They always come in pairs like that. Following is my doveconf. Let me know what else I can provide here. Thanks!
Adam
2.3.0 (c8b89eb): /usr/local/etc/dovecot/dovecot.conf
Pigeonhole version 0.5.0 (d68c23a1)
OS: FreeBSD 11.1-RELEASE-p6 amd64 nullfs
auth_mechanisms = plain login first_valid_gid = 1021 first_valid_uid = 1021 last_valid_gid = 1022 last_valid_uid = 1022 listen = imap.jail.apnoea.adamw.org mail_location = mdbox:/mail/%u/mail mail_plugins = " zlib virtual fts fts_lucene" mail_prefetch_count = 5 namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox FreeBSD { autoexpunge = 17 weeks } mailbox FreeBSD/TodaysCommits { autoexpunge = 2 days } mailbox FreeBSD/automation { autoexpunge = 1 days } mailbox FreeBSD/portmgr { autoexpunge = 26 weeks } mailbox FreeBSD/ports { autoexpunge = 12 weeks } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { autoexpunge = 30 days special_use = \Trash } mailbox spam/probably { autoexpunge = 30 days } mailbox spam/totally { autoexpunge = 5 days } prefix = separator = / } passdb { args = scheme=BLF-CRYPT username_format=%u /path/to/userdb.passwd driver = passwd-file } plugin { fts = lucene fts_autoindex = yes fts_autoindex_max_recent_msgs = 25 fts_lucene = whitespace_chars=@ sieve = file:/scripts/sieve/%u.sieve;bindir=/mail/%u/sieve/ sieve_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter +editheader sieve_filter_bin_dir = /scripts/sieve/filter sieve_pipe_bin_dir = /scripts/sieve/pipe sieve_plugins = sieve_extprograms } postmaster_address = postmaster@... protocols = imap lmtp service imap-login { inet_listener imaps { port = 0 } } service lmtp { inet_listener lmtp { port = 24 } } ssl = required ssl_cert = </path/to/fullchain.pem ssl_cipher_list = TLSv1.2+AEAD:!aNULL 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 = username_format=%u /path/to/userdb.passwd driver = passwd-file } protocol lmtp { mail_plugins = " zlib virtual fts fts_lucene sieve" } protocol imap { mail_max_userip_connections = 20 mail_plugins = " zlib virtual fts fts_lucene imap_zlib" } protocol lda { mail_plugins = " zlib virtual fts fts_lucene sieve" }
-- Adam Weinberger adamw@adamw.org http://www.adamw.org
On 24.12.2017 15:58, Adam Weinberger wrote:
I had this errors in my logs, too.
It happens only to users who using K-9 Mail on Android. They all had a setting enabled called "Use compression on network: Mobile, Wi-Fi, Other" in "Incoming server settings". I didn't looked for other imap clients, because without this setting enabled the errors vanished.
But it is likely that there are other imap clients who try to compress the transfer. No stored mails are corrupted, it is only the connection somehow.
Carsten
On 06.01.2018 20:54, Timo Sirainen wrote:
Can you try if this https://github.com/dovecot/core/commit/23da0fa1b30cc11bcc1d467674a0950c527e9... fixes your issue?
Aki
On 09.01.2018 11:22, Aki Tuomi wrote:
The panics are gone, it seems this patch fixes the issue. I see in my logs normal login and connection closed messages. I applied this patch to dovecot v2.3.0 and tested it with the Android K-9 Mail App. I used the option "Use compression on network", which seems to be a default for a new connection.
Carsten
participants (5)
-
Adam Weinberger
-
Aki Tuomi
-
Carsten Uppenbrink
-
Florian Pritz
-
Timo Sirainen