[Dovecot] auth service: out of memory

Mailing List SVR lists at svrinformatica.it
Fri Jun 29 09:35:12 EEST 2012


Hi,

I have some out of memory errors in my logs (file errors.txt attached)

I'm using dovecot 2.0.19, I can see some memory leaks fix in hg after 
the 2.0.19 release but they seem related to imap-login service,

I attached my config too, is something wrong there? Should I really 
increase the limit based on my settings?

Can these commits fix the reported leak?

http://hg.dovecot.org/dovecot-2.0/rev/6299dfb73732
http://hg.dovecot.org/dovecot-2.0/rev/67f1cef07427

Please note that the auth service is restarted when it reach the limit 
so no real issues,

please advice

thanks
Nicola


-------------- next part --------------
cat /var/log/mail.log | grep "Out of memory"
Jun 28 11:48:24 server1 dovecot: master: Error: service(auth): child 31301 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:50:18 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of memory
Jun 28 11:50:18 server1 dovecot: master: Error: service(auth): child 10782 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:52:43 server1 dovecot: master: Error: service(auth): child 16854 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:54:01 server1 dovecot: auth: Fatal: block_alloc(4096): Out of memory
Jun 28 11:54:01 server1 dovecot: master: Error: service(auth): child 23378 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:55:09 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of memory
Jun 28 11:55:09 server1 dovecot: master: Error: service(auth): child 28203 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:56:07 server1 dovecot: master: Error: service(auth): child 32570 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:57:01 server1 dovecot: auth: Fatal: block_alloc(4096): Out of memory
Jun 28 11:57:01 server1 dovecot: master: Error: service(auth): child 5136 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:57:57 server1 dovecot: master: Error: service(auth): child 9245 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:58:52 server1 dovecot: master: Error: service(auth): child 13779 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 11:59:49 server1 dovecot: master: Error: service(auth): child 18260 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 12:01:03 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of memory
Jun 28 12:01:03 server1 dovecot: master: Error: service(auth): child 22181 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
Jun 28 12:03:24 server1 dovecot: auth: Fatal: pool_system_malloc(3144): Out of memory
Jun 28 12:03:24 server1 dovecot: master: Error: service(auth): child 27253 returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may need to increase it))
-------------- next part --------------
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-25-generic x86_64 Ubuntu 12.04 LTS ext4
auth_cache_size = 10 M
auth_mechanisms = plain login
auth_socket_path = /var/run/dovecot/auth-userdb
auth_worker_max_count = 128
base_dir = /var/run/dovecot/
default_process_limit = 200
default_vsz_limit = 128 M
disable_plaintext_auth = no
first_valid_gid = 2000
first_valid_uid = 2000
hostname = mail.example.com
last_valid_gid = 2000
last_valid_uid = 2000
listen = *
login_greeting = SVR ready.
mail_location = maildir:/srv/panel/mail/%d/%t/Maildir
mail_plugins = " quota trash autocreate"
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 ihave
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  autocreate = Trash
  autocreate2 = Junk
  autocreate3 = Drafts
  autocreate4 = Sent
  autosubscribe = Trash
  autosubscribe2 = Junk
  autosubscribe3 = Drafts
  autosubscribe4 = Sent
  quota = maildir:User quota
  quota_rule = *:storage=300MB
  quota_rule2 = Trash:ignore
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
  sieve = ~/.dovecot.sieve
  sieve_before = /etc/dovecot/sieve/move-spam.sieve
  sieve_dir = ~/sieve
  sieve_max_actions = 32
  sieve_max_redirects = 4
  sieve_max_script_size = 1M
  sieve_quota_max_scripts = 10
  sieve_quota_max_storage = 2M
  trash = /etc/dovecot/dovecot-trash.conf.ext
}
postmaster_address = postmaster at example.com
protocols = imap pop3 sieve
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = vmail
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = $default_internal_user
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service quota-warning {
  executable = script /srv/panel/django/systemcp/systemutils/mail/quota-warning.py
  unix_listener quota-warning {
    user = vmail
  }
  user = dovecot
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list = ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lda {
  mail_plugins = " quota trash autocreate sieve"
}
protocol imap {
  imap_client_workarounds = delay-newmail
  mail_max_userip_connections = 10
  mail_plugins = " quota trash autocreate imap_quota"
}
protocol sieve {
  mail_max_userip_connections = 10
  mail_plugins = " quota trash autocreate"
  managesieve_max_compile_errors = 5
}
protocol pop3 {
  mail_max_userip_connections = 10
  mail_plugins = " quota trash autocreate"
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}


More information about the dovecot mailing list