Sebastian Wolfgarten
2015-Oct-24 11:59 UTC
Memory leak or misconfiguration: Repeated allocation of very large block
Dear all, I am using Dovecot 2.2.19 and I keep on getting the following warnings in my mail.log file on FreeBSD 10: Oct 24 10:45:28 server1 dovecot: imap: Error: GC Warning: Repeated allocation of very large block (appr. size 20480): Oct 24 10:45:28 server1 dovecot: imap: Error: May lead to memory leak and poor performance. I am wondering whether this is a configuration issue (i.e. a mistake in my current config) or whether I am hitting a bug. What?s the best way of figuring this one out? I tried increasing the verbosity of the logs but it did not really provide me with further information. Any ideas? Here is my config: -- [root at server1 ~]# dovecot -n # 2.2.19: /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.9 (357ac0a0e68b+) # OS: FreeBSD 10.1-RELEASE amd64 zfs auth_cache_size = 50 M auth_mechanisms = plain login default_vsz_limit = 512 M disable_plaintext_auth = no first_valid_uid = 1008 last_valid_uid = 1008 login_greeting = Ready. mail_gid = 1008 mail_location = maildir:/var/mail/vdomains/%d/%n mail_max_keyword_length = 128 mail_max_userip_connections = 20 mail_uid = 1008 maildir_stat_dirs = 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 passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } postmaster_address = sebastian at wolfgarten.com protocols = imap pop3 lmtp sieve service auth { unix_listener /var/spool/postfix/private/auth { group = vmail mode = 0666 user = vmail } user = $default_internal_user } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_min_avail = 3 service_count = 0 vsz_limit = 512 M } service imap-postlogin { executable = script-login /usr/local/etc/popafter.sh user = $default_internal_user } service imap { executable = imap imap-postlogin process_limit = 1024 vsz_limit = 512 M } service lmtp { unix_listener lmtp { mode = 0666 } } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3-postlogin { executable = script-login /usr/local/etc/popafter.sh user = $default_internal_user } service pop3 { executable = pop3 pop3-postlogin process_limit = 1024 } ssl_ca = </etc/postfix/ca.pem ssl_cert = </etc/postfix/server1.wolfgarten.com.crt.chain ssl_cipher_list = ALL:!LOW:!ADH:!SSLv2:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:+HIGH:+MEDIUM ssl_key = </etc/postfix/server1.wolfgarten.com.key ssl_protocols = !SSLv2 !SSLv3 userdb { driver = prefetch } userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } userdb { driver = prefetch } userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } protocol lda { mail_plugins = " sieve" } -- Many thanks. Best regards Sebastian -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 842 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://dovecot.org/pipermail/dovecot/attachments/20151024/1860a0ff/attachment.sig>
Timo Sirainen
2015-Oct-24 21:19 UTC
Memory leak or misconfiguration: Repeated allocation of very large block
On 24 Oct 2015, at 14:59, Sebastian Wolfgarten <sebastian at wolfgarten.com> wrote:> > Dear all, > > I am using Dovecot 2.2.19 and I keep on getting the following warnings in my mail.log file on FreeBSD 10: > > Oct 24 10:45:28 server1 dovecot: imap: Error: GC Warning: Repeated allocation of very large block (appr. size 20480): > Oct 24 10:45:28 server1 dovecot: imap: Error: May lead to memory leak and poor performance. > > I am wondering whether this is a configuration issue (i.e. a mistake in my current config) or whether I am hitting a bug. What?s the best way of figuring this one out? I tried increasing the verbosity of the logs but it did not really provide me with further information.I guess you have configured Dovecot --with-gc? I guess it's possible this is a bug, but it could just as well be a false alarm. In general I don't recommend/support --with-gc option (and I should probably just remove it altogether). The easiest and the most usable way of finding memory leaks is to run with valgrind (which must be done without-gc): service imap { executable = /usr/bin/valgrind -q --show-reachable=yes --leak-check=full /usr/libexec/dovecot/imap } I'm not aware of any memory leaks right now.
Sebastian Wolfgarten
2015-Oct-25 10:54 UTC
Memory leak or misconfiguration: Repeated allocation of very large block
Hi Timo, alright, thanks I will recompile without gc - this is a standard build option on FreeBSD but I will get the port maintainer to maybe change this. Best regards Sebastian> Am 24.10.2015 um 23:19 schrieb Timo Sirainen <tss at iki.fi>: > > On 24 Oct 2015, at 14:59, Sebastian Wolfgarten <sebastian at wolfgarten.com> wrote: >> >> Dear all, >> >> I am using Dovecot 2.2.19 and I keep on getting the following warnings in my mail.log file on FreeBSD 10: >> >> Oct 24 10:45:28 server1 dovecot: imap: Error: GC Warning: Repeated allocation of very large block (appr. size 20480): >> Oct 24 10:45:28 server1 dovecot: imap: Error: May lead to memory leak and poor performance. >> >> I am wondering whether this is a configuration issue (i.e. a mistake in my current config) or whether I am hitting a bug. What?s the best way of figuring this one out? I tried increasing the verbosity of the logs but it did not really provide me with further information. > > I guess you have configured Dovecot --with-gc? I guess it's possible this is a bug, but it could just as well be a false alarm. In general I don't recommend/support --with-gc option (and I should probably just remove it altogether). The easiest and the most usable way of finding memory leaks is to run with valgrind (which must be done without-gc): > > service imap { > executable = /usr/bin/valgrind -q --show-reachable=yes --leak-check=full /usr/libexec/dovecot/imap > } > > I'm not aware of any memory leaks right now. >-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 842 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://dovecot.org/pipermail/dovecot/attachments/20151025/418971f6/attachment.sig>