socketpair failed: Too many open files on Debian 9

Hajo Locke Hajo.Locke at gmx.de
Wed Aug 23 15:41:12 EEST 2017


Hello,

are you using systemd? May be you have to edit unit-file for 
dovecotservice and increase filelimit

LimitNOFILE=infinity

Hajo

Am 23.08.2017 um 14:21 schrieb Patrick Westenberg:
> I haven't done this on the old, working machine.
>
> So there must be a difference between Debian 7 and 9 how open files are
> handled?
>
> Regards
> Patrick
>
>
>
> Aki Tuomi schrieb:
>> You probably need to increase ulimit -n
>>
>> Aki
>>
>>
>> On 23.08.2017 14:10, Patrick Westenberg wrote:
>>> Hi @all,
>>>
>>> after re-installing one of my two frontends/proxy-servers I get the
>>> following error messages after some time (sometimes after 1h, sometimes
>>> after 24h):
>>>
>>>
>>> 11:23:55 imap-login: Error: socketpair() failed: Too many open files
>>> 11:23:55 imap-login: Error: socketpair() failed: Too many open files
>>> 11:23:56 imap-login: Error: socketpair() failed: Too many open files
>>> 11:23:56 imap-login: Error: socketpair() failed: Too many open files
>>> 11:23:57 imap-login: Error: socketpair() failed: Too many open files
>>>
>>> 11:26:17 imap-login: Error: socket() failed: Too many open files
>>> 11:26:17 imap-login: Error: proxy(post at example.com): connect(172.17.1.1,
>>> 143) failed: Too many open files (after 0 secs):
>>> user=<post at example.com>, method=PLAIN, rip=x.x.x.x, lip=x.x.x.x, TLS,
>>> session=<FgPWTWhXa8dQjLoi>
>>> 11:26:17 imap-login: Error: socketpair() failed: Too many open files
>>> 11:26:17 imap-login: Error: proxy: SSL handshake failed to
>>> 172.17.1.1:143: user=<post at example.com>, method=PLAIN, rip=x.x.x.x,
>>> lip=x.x.x.x, TLS, session=<HALWTWhXasdQjLoi>
>>> 11:26:17 imap-login: Error: socket() failed: Too many open files
>>> 11:26:17 imap-login: Error: proxy(post at example.com): connect(172.17.1.1,
>>> 143) failed: Too many open files (after 0 secs):
>>> user=<post at example.com>, method=LOGIN, rip=x.x.x.x, lip=x.x.x.x, TLS,
>>> session=<HALWTWhXasdQjLoi>
>>> 11:26:17 imap-login: Error: socketpair() failed: Too many open files
>>> 11:26:17 imap-login: Error: proxy: SSL handshake failed to
>>> 172.17.1.1:143: user=<post at example.com>, method=LOGIN, rip=x.x.x.x,
>>> lip=x.x.x.x, TLS, session=<FgPWTWhXa8dQjLoi>
>>> 11:26:17 imap-login: Error: socket() failed: Too many open files
>>>
>>>
>>> As I switched from KVM to LXC my first idea was that this could be
>>> caused by LXC but this even happens with KVM.
>>> I tried dovecot 2.2.31 and 2.2.32.rc2. OS is Debian 9.
>>>
>>> These problems don't occur on my old machine (Debian 7).
>>>
>>> Any ideas?
>>>
>>> Regards
>>> Patrick
>>>
>>>
>>>
>>>
>>> # 2.2.32.rc2 (a350120ca): /usr/local/etc/dovecot/dovecot.conf
>>> # Pigeonhole version 0.4.19 (e5c7051)
>>> # OS: Linux 4.4.67-1-pve x86_64 Debian 9.1
>>> auth_mechanisms = plain login
>>> director_mail_servers = 172.17.1.1 172.17.1.2
>>> director_servers = 172.17.1.32 172.17.1.3
>>> director_user_expire = 5 mins
>>> lmtp_proxy = yes
>>> log_path = /var/log/dovecot.log
>>> 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
>>> protocols = imap pop3 lmtp sieve
>>> service auth {
>>>    unix_listener /var/spool/postfix/private/auth {
>>>      group = postfix
>>>      mode = 0666
>>>      user = postfix
>>>    }
>>>    unix_listener auth-userdb {
>>>      user = dovecot
>>>    }
>>> }
>>> service director {
>>>    fifo_listener login/proxy-notify {
>>>      mode = 0666
>>>    }
>>>    inet_listener {
>>>      address = 172.17.1.32
>>>      port = 9090
>>>    }
>>>    unix_listener director-userdb {
>>>      mode = 0600
>>>    }
>>>    unix_listener login/director {
>>>      mode = 0666
>>>    }
>>> }
>>> service imap-login {
>>>    executable = imap-login director
>>>    process_min_avail = 1
>>>    service_count = 0
>>> }
>>> service lmtp {
>>>    inet_listener lmtp {
>>>      address = 172.17.1.32
>>>      port = 24
>>>      ssl = yes
>>>    }
>>>    process_min_avail = 20
>>> }
>>> service managesieve-login {
>>>    executable = managesieve-login director
>>>    inet_listener sieve {
>>>      port = 4190
>>>    }
>>> }
>>> service pop3-login {
>>>    executable = pop3-login director
>>> }
>>> ssl_cert = </etc/ssl/certs/certum_wildcard.pem
>>> ssl_cipher_list =
>>> ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
>>> ssl_dh_parameters_length = 2048
>>> ssl_key =  # hidden, use -P to show it
>>> ssl_prefer_server_ciphers = yes
>>> verbose_proctitle = yes
>>> protocol !smtp {
>>>    passdb {
>>>      args = proxy=y nopassword=y starttls=any-cert
>>>      driver = static
>>>      name =
>>>    }
>>> }
>>> protocol smtp {
>>>    passdb {
>>>      args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>>>      driver = sql
>>>      name =
>>>    }
>>>    userdb {
>>>      args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>>>      driver = sql
>>>      name =
>>>    }
>>> }
>>> protocol lmtp {
>>>    auth_socket_path = director-userdb
>>> }
>>>
>>> ulimit -a
>>> core file size          (blocks, -c) 0
>>> data seg size           (kbytes, -d) unlimited
>>> scheduling priority             (-e) 0
>>> file size               (blocks, -f) unlimited
>>> pending signals                 (-i) 7978
>>> max locked memory       (kbytes, -l) 64
>>> max memory size         (kbytes, -m) unlimited
>>> open files                      (-n) 1024
>>> pipe size            (512 bytes, -p) 8
>>> POSIX message queues     (bytes, -q) 819200
>>> real-time priority              (-r) 0
>>> stack size              (kbytes, -s) 8192
>>> cpu time               (seconds, -t) unlimited
>>> max user processes              (-u) 7978
>>> virtual memory          (kbytes, -v) unlimited
>>> file locks                      (-x) unlimited
>>>
>>>
>>> ###########################
>>>
>>>
>>> This machine has no problems:
>>>
>>> # 2.2.18: /usr/local/etc/dovecot/dovecot.conf
>>> # Pigeonhole version 0.4.8 (0c4ae064f307+)
>>> # OS: Linux 3.16.0-0.bpo.4-amd64 x86_64 Debian 7.11
>>> auth_mechanisms = plain login
>>> director_mail_servers = 172.17.1.1 172.17.1.2
>>> director_servers = 172.17.1.3 172.17.1.32
>>> director_user_expire = 5 mins
>>> lmtp_proxy = yes
>>> log_path = /var/log/dovecot.log
>>> 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
>>> protocols = imap pop3 lmtp sieve
>>> service auth {
>>>    unix_listener /var/spool/postfix/private/auth {
>>>      group = postfix
>>>      mode = 0666
>>>      user = postfix
>>>    }
>>>    unix_listener auth-userdb {
>>>      user = dovecot
>>>    }
>>> }
>>> service director {
>>>    fifo_listener login/proxy-notify {
>>>      mode = 0666
>>>    }
>>>    inet_listener {
>>>      address = 172.17.1.3
>>>      port = 9090
>>>    }
>>>    unix_listener director-userdb {
>>>      mode = 0600
>>>    }
>>>    unix_listener login/director {
>>>      mode = 0666
>>>    }
>>> }
>>> service imap-login {
>>>    executable = imap-login director
>>>    process_min_avail = 1
>>>    service_count = 0
>>> }
>>> service lmtp {
>>>    inet_listener lmtp {
>>>      address = 172.17.1.3
>>>      port = 24
>>>      ssl = yes
>>>    }
>>>    process_min_avail = 20
>>> }
>>> service managesieve-login {
>>>    executable = managesieve-login director
>>>    inet_listener sieve {
>>>      port = 4190
>>>    }
>>> }
>>> service pop3-login {
>>>    executable = pop3-login director
>>> }
>>> ssl_cert = </etc/ssl/certs/certum_wildcard.pem
>>> ssl_cipher_list =
>>> ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
>>> ssl_dh_parameters_length = 2048
>>> ssl_key = </etc/ssl/private/certum_wildcard.key
>>> ssl_prefer_server_ciphers = yes
>>> ssl_protocols = !SSLv3 !SSLv2
>>> verbose_proctitle = yes
>>> protocol !smtp {
>>>    passdb {
>>>      args = proxy=y nopassword=y starttls=any-cert
>>>      driver = static
>>>      name =
>>>    }
>>> }
>>> protocol smtp {
>>>    passdb {
>>>      args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>>>      driver = sql
>>>      name =
>>>    }
>>>    userdb {
>>>      args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>>>      driver = sql
>>>      name =
>>>    }
>>> }
>>> protocol lmtp {
>>>    auth_socket_path = director-userdb
>>> }
>>>
>>>
>>> ulimit -a
>>> core file size          (blocks, -c) 0
>>> data seg size           (kbytes, -d) unlimited
>>> scheduling priority             (-e) 0
>>> file size               (blocks, -f) unlimited
>>> pending signals                 (-i) 257548
>>> max locked memory       (kbytes, -l) 64
>>> max memory size         (kbytes, -m) unlimited
>>> open files                      (-n) 1024
>>> pipe size            (512 bytes, -p) 8
>>> POSIX message queues     (bytes, -q) 819200
>>> real-time priority              (-r) 0
>>> stack size              (kbytes, -s) 8192
>>> cpu time               (seconds, -t) unlimited
>>> max user processes              (-u) 257548
>>> virtual memory          (kbytes, -v) unlimited
>>> file locks                      (-x) unlimited



More information about the dovecot mailing list