Leander Schäfer
2015-Jan-26 00:50 UTC
imap-login: Fatal: pipe() failed: Too many open files
Hi
I keep on getting errors and can't connect/login to Dovecot. I did my
research but unfortunately without success. It is for sure not ulimit
because ulimit is set to unlimited per default already. Still , it
complains about "Too many open files" but this is a test system and
the
service dovecot and postfix have just been started. No one except me is
testing on this system. This is very weired ;/
root at WM-01 [~]$ service dovecot stop; service postfix stop ; echo
"" >
/var/log/maillog ; echo "" > /var/log/slapd.log ; service postfix
start
; service dovecot start
Stopping dovecot.
Waiting for PIDS: 3245.
postfix/postfix-script: stopping the Postfix mail system
postfix/postfix-script: starting the Postfix mail system
Starting dovecot.
root at WM-01 [~]$ telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
root at WM-01 [~]$ cat /var/log/mail
Jan 26 01:39:12 WM-01 dovecot: imap-login: Fatal: pipe() failed: Too
many open files
Jan 26 01:39:12 WM-01 dovecot: master: Error: service(imap-login):
command startup failed, throttling for 4 secs
If I uncoment port = 0 in POP and IMAP then it looks even worse then
above. Telnet is not even closed by remote host and three of the "Too
many open files" errors are showing up in maillog:
root at WM-01 [~]$ telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> Connection closed.
root at WM-01 [~]$ cat /var/log/maillog
Jan 26 01:45:19 WM-01 postfix/postfix-script[60560]: starting the
Postfix mail system
Jan 26 01:45:19 WM-01 postfix/master[60562]: daemon started -- version
1.0, configuration /usr/local/etc/postfix
Jan 26 01:45:19 WM-01 dovecot: master: Dovecot v2.2.15 starting up for
imap, pop3, lmtp
Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: socket(login) failed:
Too many open files
Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: auth: connect(login)
failed: Too many open files
Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: net_accept() failed:
Too many open files
root at WM-01 [~]$
Does anyone have an idea what could be wrong here? I attached the
relevant configuration below. I use OpenLDAP as backend.
Please let me know if you need more information. Thank you very much.
Best Regards,
Leander
# ========================== dovecot -n ============================== #
# 2.2.15: /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.6 (3e924b1b6c5c+)
# OS: FreeBSD 10.1-RELEASE amd64 ufs
auth_debug = yes
auth_debug_passwords = yes
auth_failure_delay = 3 secs
auth_mechanisms = plain login
auth_verbose = yes
auth_verbose_passwords = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
login_greeting = Welcome to Mail Server.
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
%k
mail_debug = yes
mail_gid = vmail
mail_location = maildir:/var/mail/%d/%n
mail_plugins = quota expire mail_log notify
mail_privileged_group = mail
mail_temp_dir = /tmp/Dovecot
mail_uid = vmail
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 duplicate
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 }
passdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
expire = Trash
mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
mail_log_fields = uid box msgid size
quota = maildir:User quota
quota_exceeded_message = Storage quota for this account has been
exceeded, please try again later.
quota_rule = *:storage=1G
quota_rule2 = Trash:storage=+30%%
quota_rule3 = Sent:storage=+30%%
quota_warning = storage=90%% quota-warning 90 %u
quota_warning2 = storage=75%% quota-warning 75 %u
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
postmaster_address = info at netocean.de
sendmail_path = /usr/local/sbin/sendmail
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
}
}
service imap-login {
inet_listener imaps {
port = 0
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
user = vmail
}
service pop3-login {
inet_listener pop3s {
port = 0
}
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = vmail
}
ssl = required
ssl_cert = </etc/ssl/RootCA/certs/192.168.50.101.pem
ssl_cipher_list =
EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
ssl_key = </etc/ssl/RootCA/certs/192.168.50.101.key
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
userdb {
driver = prefetch
}
userdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_ssl = yes
protocol lda {
mail_plugins = sieve
}
protocol imap {
mail_max_userip_connections = 3
mail_plugins = imap_quota imap_zlib
}
protocol pop3 {
mail_max_userip_connections = 3
}
# ======================== dovecot/conf.d/auth-ldap.conf.ext
=================== #
passdb {
driver = ldap
# Path for LDAP configuration file, see
example-config/dovecot-ldap.conf.ext
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
}
# "prefetch" user database means that the passdb already provided the
# needed information and there's no need to do a separate userdb lookup.
# <doc/wiki/UserDatabase.Prefetch.txt>
userdb {
driver = prefetch
}
userdb {
driver = ldap
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
# Default fields can be used to specify defaults that LDAP may override
#default_fields = home=/home/virtual/%u
}
# ======================== dovecot/dovecot-ldap.conf.ext
=================== #
hosts = 127.0.0.1:389
dn = uid=dovecot,ou=systemuser,ou=mail,dc=MyDomain,dc=TLD
dnpass = TopSecret
tls = yes
tls_cert_file = /etc/ssl/RootCA/certs/192.168.50.101.pem
tls_key_file = /etc/ssl/RootCA/certs/192.168.50.101.key
debug_level = -1
auth_bind = yes
ldap_version = 3
base = ou=accounts,ou=mail,dc=MyDomain,dc=TLD
scope = subtree
user_attrs = mailStorageDirectory=home, mailUidNumber=uid,
mailGidNumber=gid, mailQuotaSize=quota_rule=*:bytes=%$,
mailQuotaCount=quota_rule2
user_filter = (&(objectClass=mailAccount)(mailAddress=%u))
pass_attrs = mailAddress=user,mailPassword=password
pass_filter =
(&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=%u))
default_pass_scheme = SSHA
Leander Schäfer
2015-Jan-26 01:13 UTC
imap-login: Fatal: pipe() failed: Too many open files
I just checked my ulimit again and it really seems like it hhas more than enough - so I still don't understand what I've configured wrong here ;/ root at WM-01 [~]$ su -m dovecot -c "ulimit -a" socket buffer size (bytes, -b) unlimited core file size (blocks, -c) unlimited data seg size (kbytes, -d) 33554432 file size (blocks, -f) unlimited max locked memory (kbytes, -l) 131072 max memory size (kbytes, -m) 7067352 open files (-n) 205587 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 11278 virtual memory (kbytes, -v) unlimited swap size (kbytes, -w) unlimited Best Regards, Leander Am 26.01.15 um 01:50 schrieb Leander Sch?fer:> Hi > > I keep on getting errors and can't connect/login to Dovecot. I did my > research but unfortunately without success. It is for sure not ulimit > because ulimit is set to unlimited per default already. Still , it > complains about "Too many open files" but this is a test system and > the service dovecot and postfix have just been started. No one except > me is testing on this system. This is very weired ;/ > > > root at WM-01 [~]$ service dovecot stop; service postfix stop ; echo "" > > /var/log/maillog ; echo "" > /var/log/slapd.log ; service postfix > start ; service dovecot start > Stopping dovecot. > Waiting for PIDS: 3245. > postfix/postfix-script: stopping the Postfix mail system > postfix/postfix-script: starting the Postfix mail system > Starting dovecot. > > root at WM-01 [~]$ telnet 127.0.0.1 143 > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > Connection closed by foreign host. > > root at WM-01 [~]$ cat /var/log/mail > Jan 26 01:39:12 WM-01 dovecot: imap-login: Fatal: pipe() failed: Too > many open files > Jan 26 01:39:12 WM-01 dovecot: master: Error: service(imap-login): > command startup failed, throttling for 4 secs > > > > If I uncoment port = 0 in POP and IMAP then it looks even worse then > above. Telnet is not even closed by remote host and three of the "Too > many open files" errors are showing up in maillog: > > > > root at WM-01 [~]$ telnet 127.0.0.1 143 > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > ^] > telnet> Connection closed. > root at WM-01 [~]$ cat /var/log/maillog > > Jan 26 01:45:19 WM-01 postfix/postfix-script[60560]: starting the > Postfix mail system > Jan 26 01:45:19 WM-01 postfix/master[60562]: daemon started -- version > 1.0, configuration /usr/local/etc/postfix > Jan 26 01:45:19 WM-01 dovecot: master: Dovecot v2.2.15 starting up for > imap, pop3, lmtp > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: socket(login) > failed: Too many open files > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: auth: connect(login) > failed: Too many open files > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: net_accept() failed: > Too many open files > root at WM-01 [~]$ > > > > > > > Does anyone have an idea what could be wrong here? I attached the > relevant configuration below. I use OpenLDAP as backend. > Please let me know if you need more information. Thank you very much. > > Best Regards, > Leander > > > > > > > > > > # ========================== dovecot -n ============================== # > > > # 2.2.15: /usr/local/etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.6 (3e924b1b6c5c+) > # OS: FreeBSD 10.1-RELEASE amd64 ufs > auth_debug = yes > auth_debug_passwords = yes > auth_failure_delay = 3 secs > auth_mechanisms = plain login > auth_verbose = yes > auth_verbose_passwords = yes > base_dir = /var/run/dovecot/ > disable_plaintext_auth = no > imap_client_workarounds = delay-newmail tb-extra-mailbox-sep > tb-lsub-flags > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > login_greeting = Welcome to Mail Server. > login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e > %c %k > mail_debug = yes > mail_gid = vmail > mail_location = maildir:/var/mail/%d/%n > mail_plugins = quota expire mail_log notify > mail_privileged_group = mail > mail_temp_dir = /tmp/Dovecot > mail_uid = vmail > 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 duplicate > 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 > } > passdb { > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > plugin { > expire = Trash > mail_log_events = delete undelete expunge copy mailbox_delete > mailbox_rename > mail_log_fields = uid box msgid size > quota = maildir:User quota > quota_exceeded_message = Storage quota for this account has been > exceeded, please try again later. > quota_rule = *:storage=1G > quota_rule2 = Trash:storage=+30%% > quota_rule3 = Sent:storage=+30%% > quota_warning = storage=90%% quota-warning 90 %u > quota_warning2 = storage=75%% quota-warning 75 %u > } > pop3_client_workarounds = outlook-no-nuls oe-ns-eoh > postmaster_address = info at netocean.de > sendmail_path = /usr/local/sbin/sendmail > 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 > } > } > service imap-login { > inet_listener imaps { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0660 > user = postfix > } > user = vmail > } > service pop3-login { > inet_listener pop3s { > port = 0 > } > } > service quota-warning { > executable = script /usr/local/bin/quota-warning.sh > unix_listener quota-warning { > user = vmail > } > user = vmail > } > ssl = required > ssl_cert = </etc/ssl/RootCA/certs/192.168.50.101.pem > ssl_cipher_list = > EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA > ssl_key = </etc/ssl/RootCA/certs/192.168.50.101.key > ssl_prefer_server_ciphers = yes > ssl_protocols = !SSLv2 !SSLv3 > userdb { > driver = prefetch > } > userdb { > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > verbose_ssl = yes > protocol lda { > mail_plugins = sieve > } > protocol imap { > mail_max_userip_connections = 3 > mail_plugins = imap_quota imap_zlib > } > protocol pop3 { > mail_max_userip_connections = 3 > } > > > > > > > > > # ======================== dovecot/conf.d/auth-ldap.conf.ext > =================== # > > passdb { > driver = ldap > > # Path for LDAP configuration file, see > example-config/dovecot-ldap.conf.ext > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > } > > # "prefetch" user database means that the passdb already provided the > # needed information and there's no need to do a separate userdb lookup. > # <doc/wiki/UserDatabase.Prefetch.txt> > userdb { > driver = prefetch > } > > userdb { > driver = ldap > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > > # Default fields can be used to specify defaults that LDAP may override > #default_fields = home=/home/virtual/%u > } > > > > > > # ======================== dovecot/dovecot-ldap.conf.ext > =================== # > > hosts = 127.0.0.1:389 > dn = uid=dovecot,ou=systemuser,ou=mail,dc=MyDomain,dc=TLD > dnpass = TopSecret > tls = yes > tls_cert_file = /etc/ssl/RootCA/certs/192.168.50.101.pem > tls_key_file = /etc/ssl/RootCA/certs/192.168.50.101.key > debug_level = -1 > auth_bind = yes > ldap_version = 3 > base = ou=accounts,ou=mail,dc=MyDomain,dc=TLD > scope = subtree > user_attrs = mailStorageDirectory=home, mailUidNumber=uid, > mailGidNumber=gid, mailQuotaSize=quota_rule=*:bytes=%$, > mailQuotaCount=quota_rule2 > user_filter = (&(objectClass=mailAccount)(mailAddress=%u)) > pass_attrs = mailAddress=user,mailPassword=password > pass_filter = > (&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=%u)) > default_pass_scheme = SSHA
Edgar Pettijohn
2015-Jan-26 01:18 UTC
imap-login: Fatal: pipe() failed: Too many open files
What is the OS? On 01/25/15 18:50, Leander Sch?fer wrote:> Hi > > I keep on getting errors and can't connect/login to Dovecot. I did my > research but unfortunately without success. It is for sure not ulimit > because ulimit is set to unlimited per default already. Still , it > complains about "Too many open files" but this is a test system and > the service dovecot and postfix have just been started. No one except > me is testing on this system. This is very weired ;/ > > > root at WM-01 [~]$ service dovecot stop; service postfix stop ; echo "" > > /var/log/maillog ; echo "" > /var/log/slapd.log ; service postfix > start ; service dovecot start > Stopping dovecot. > Waiting for PIDS: 3245. > postfix/postfix-script: stopping the Postfix mail system > postfix/postfix-script: starting the Postfix mail system > Starting dovecot. > > root at WM-01 [~]$ telnet 127.0.0.1 143 > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > Connection closed by foreign host. > > root at WM-01 [~]$ cat /var/log/mail > Jan 26 01:39:12 WM-01 dovecot: imap-login: Fatal: pipe() failed: Too > many open files > Jan 26 01:39:12 WM-01 dovecot: master: Error: service(imap-login): > command startup failed, throttling for 4 secs > > > > If I uncoment port = 0 in POP and IMAP then it looks even worse then > above. Telnet is not even closed by remote host and three of the "Too > many open files" errors are showing up in maillog: > > > > root at WM-01 [~]$ telnet 127.0.0.1 143 > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > ^] > telnet> Connection closed. > root at WM-01 [~]$ cat /var/log/maillog > > Jan 26 01:45:19 WM-01 postfix/postfix-script[60560]: starting the > Postfix mail system > Jan 26 01:45:19 WM-01 postfix/master[60562]: daemon started -- version > 1.0, configuration /usr/local/etc/postfix > Jan 26 01:45:19 WM-01 dovecot: master: Dovecot v2.2.15 starting up for > imap, pop3, lmtp > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: socket(login) > failed: Too many open files > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: auth: connect(login) > failed: Too many open files > Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: net_accept() failed: > Too many open files > root at WM-01 [~]$ > > > > > > > Does anyone have an idea what could be wrong here? I attached the > relevant configuration below. I use OpenLDAP as backend. > Please let me know if you need more information. Thank you very much. > > Best Regards, > Leander > > > > > > > > > > # ========================== dovecot -n ============================== # > > > # 2.2.15: /usr/local/etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.6 (3e924b1b6c5c+) > # OS: FreeBSD 10.1-RELEASE amd64 ufs > auth_debug = yes > auth_debug_passwords = yes > auth_failure_delay = 3 secs > auth_mechanisms = plain login > auth_verbose = yes > auth_verbose_passwords = yes > base_dir = /var/run/dovecot/ > disable_plaintext_auth = no > imap_client_workarounds = delay-newmail tb-extra-mailbox-sep > tb-lsub-flags > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > login_greeting = Welcome to Mail Server. > login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e > %c %k > mail_debug = yes > mail_gid = vmail > mail_location = maildir:/var/mail/%d/%n > mail_plugins = quota expire mail_log notify > mail_privileged_group = mail > mail_temp_dir = /tmp/Dovecot > mail_uid = vmail > 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 duplicate > 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 > } > passdb { > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > plugin { > expire = Trash > mail_log_events = delete undelete expunge copy mailbox_delete > mailbox_rename > mail_log_fields = uid box msgid size > quota = maildir:User quota > quota_exceeded_message = Storage quota for this account has been > exceeded, please try again later. > quota_rule = *:storage=1G > quota_rule2 = Trash:storage=+30%% > quota_rule3 = Sent:storage=+30%% > quota_warning = storage=90%% quota-warning 90 %u > quota_warning2 = storage=75%% quota-warning 75 %u > } > pop3_client_workarounds = outlook-no-nuls oe-ns-eoh > postmaster_address = info at netocean.de > sendmail_path = /usr/local/sbin/sendmail > 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 > } > } > service imap-login { > inet_listener imaps { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0660 > user = postfix > } > user = vmail > } > service pop3-login { > inet_listener pop3s { > port = 0 > } > } > service quota-warning { > executable = script /usr/local/bin/quota-warning.sh > unix_listener quota-warning { > user = vmail > } > user = vmail > } > ssl = required > ssl_cert = </etc/ssl/RootCA/certs/192.168.50.101.pem > ssl_cipher_list = > EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA > ssl_key = </etc/ssl/RootCA/certs/192.168.50.101.key > ssl_prefer_server_ciphers = yes > ssl_protocols = !SSLv2 !SSLv3 > userdb { > driver = prefetch > } > userdb { > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > driver = ldap > } > verbose_ssl = yes > protocol lda { > mail_plugins = sieve > } > protocol imap { > mail_max_userip_connections = 3 > mail_plugins = imap_quota imap_zlib > } > protocol pop3 { > mail_max_userip_connections = 3 > } > > > > > > > > > # ======================== dovecot/conf.d/auth-ldap.conf.ext > =================== # > > passdb { > driver = ldap > > # Path for LDAP configuration file, see > example-config/dovecot-ldap.conf.ext > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > } > > # "prefetch" user database means that the passdb already provided the > # needed information and there's no need to do a separate userdb lookup. > # <doc/wiki/UserDatabase.Prefetch.txt> > userdb { > driver = prefetch > } > > userdb { > driver = ldap > args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext > > # Default fields can be used to specify defaults that LDAP may override > #default_fields = home=/home/virtual/%u > } > > > > > > # ======================== dovecot/dovecot-ldap.conf.ext > =================== # > > hosts = 127.0.0.1:389 > dn = uid=dovecot,ou=systemuser,ou=mail,dc=MyDomain,dc=TLD > dnpass = TopSecret > tls = yes > tls_cert_file = /etc/ssl/RootCA/certs/192.168.50.101.pem > tls_key_file = /etc/ssl/RootCA/certs/192.168.50.101.key > debug_level = -1 > auth_bind = yes > ldap_version = 3 > base = ou=accounts,ou=mail,dc=MyDomain,dc=TLD > scope = subtree > user_attrs = mailStorageDirectory=home, mailUidNumber=uid, > mailGidNumber=gid, mailQuotaSize=quota_rule=*:bytes=%$, > mailQuotaCount=quota_rule2 > user_filter = (&(objectClass=mailAccount)(mailAddress=%u)) > pass_attrs = mailAddress=user,mailPassword=password > pass_filter = > (&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=%u)) > default_pass_scheme = SSHA
Am 26.01.2015 um 02:13 schrieb Leander Sch?fer:> I just checked my ulimit again and it really seems like it has more > than enough - so I still don't understand what I've configured wrong > here ;/ > > root at WM-01 [~]$ su -m dovecot -c "ulimit -a" > socket buffer size (bytes, -b) unlimited > core file size (blocks, -c) unlimited > data seg size (kbytes, -d) 33554432 > file size (blocks, -f) unlimited > max locked memory (kbytes, -l) 131072 > max memory size (kbytes, -m) 7067352 > open files (-n) 205587 > pipe size (512 bytes, -p) 1 > stack size (kbytes, -s) 8192 > cpu time (seconds, -t) unlimited > max user processes (-u) 11278 > virtual memory (kbytes, -v) unlimited > swap size (kbytes, -w) unlimitedbesides that "imap-login" typically does *not* run under the same user (here dovenull versus dovecot) who tells you that 205587 is "more than enough" just because it is a high value? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: OpenPGP digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150126/2341e105/attachment.sig>
Edgar Pettijohn
2015-Jan-26 01:24 UTC
imap-login: Fatal: pipe() failed: Too many open files
Sorry didn't scroll to the bottom to see the dovecot -n. I'm assuming
freebsd has an /etc/login.conf similiar to openbsd. If so you may need
to do something similiar to this:
dovecot:\
:openfiles-cur=512:\
:openfiles-max=2048:\
:tc=daemon:
Rebuild the login.conf.db file if necessary:
# [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf
Hope this helps.
On 01/25/15 19:18, Edgar Pettijohn wrote:> What is the OS?
>
> On 01/25/15 18:50, Leander Sch?fer wrote:
>> Hi
>>
>> I keep on getting errors and can't connect/login to Dovecot. I did
my
>> research but unfortunately without success. It is for sure not ulimit
>> because ulimit is set to unlimited per default already. Still , it
>> complains about "Too many open files" but this is a test
system and
>> the service dovecot and postfix have just been started. No one except
>> me is testing on this system. This is very weired ;/
>>
>>
>> root at WM-01 [~]$ service dovecot stop; service postfix stop ; echo
""
>> > /var/log/maillog ; echo "" > /var/log/slapd.log ;
service postfix
>> start ; service dovecot start
>> Stopping dovecot.
>> Waiting for PIDS: 3245.
>> postfix/postfix-script: stopping the Postfix mail system
>> postfix/postfix-script: starting the Postfix mail system
>> Starting dovecot.
>>
>> root at WM-01 [~]$ telnet 127.0.0.1 143
>> Trying 127.0.0.1...
>> Connected to localhost.
>> Escape character is '^]'.
>> Connection closed by foreign host.
>>
>> root at WM-01 [~]$ cat /var/log/mail
>> Jan 26 01:39:12 WM-01 dovecot: imap-login: Fatal: pipe() failed: Too
>> many open files
>> Jan 26 01:39:12 WM-01 dovecot: master: Error: service(imap-login):
>> command startup failed, throttling for 4 secs
>>
>>
>>
>> If I uncoment port = 0 in POP and IMAP then it looks even worse then
>> above. Telnet is not even closed by remote host and three of the
"Too
>> many open files" errors are showing up in maillog:
>>
>>
>>
>> root at WM-01 [~]$ telnet 127.0.0.1 143
>> Trying 127.0.0.1...
>> Connected to localhost.
>> Escape character is '^]'.
>> ^]
>> telnet> Connection closed.
>> root at WM-01 [~]$ cat /var/log/maillog
>>
>> Jan 26 01:45:19 WM-01 postfix/postfix-script[60560]: starting the
>> Postfix mail system
>> Jan 26 01:45:19 WM-01 postfix/master[60562]: daemon started --
>> version 1.0, configuration /usr/local/etc/postfix
>> Jan 26 01:45:19 WM-01 dovecot: master: Dovecot v2.2.15 starting up
>> for imap, pop3, lmtp
>> Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: socket(login)
>> failed: Too many open files
>> Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: auth:
>> connect(login) failed: Too many open files
>> Jan 26 01:45:24 WM-01 dovecot: imap-login: Error: net_accept()
>> failed: Too many open files
>> root at WM-01 [~]$
>>
>>
>>
>>
>>
>>
>> Does anyone have an idea what could be wrong here? I attached the
>> relevant configuration below. I use OpenLDAP as backend.
>> Please let me know if you need more information. Thank you very much.
>>
>> Best Regards,
>> Leander
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> # ========================== dovecot -n ==============================
#
>>
>>
>> # 2.2.15: /usr/local/etc/dovecot/dovecot.conf
>> # Pigeonhole version 0.4.6 (3e924b1b6c5c+)
>> # OS: FreeBSD 10.1-RELEASE amd64 ufs
>> auth_debug = yes
>> auth_debug_passwords = yes
>> auth_failure_delay = 3 secs
>> auth_mechanisms = plain login
>> auth_verbose = yes
>> auth_verbose_passwords = yes
>> base_dir = /var/run/dovecot/
>> disable_plaintext_auth = no
>> imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
>> tb-lsub-flags
>> lda_mailbox_autocreate = yes
>> lda_mailbox_autosubscribe = yes
>> login_greeting = Welcome to Mail Server.
>> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l
mpid=%e
>> %c %k
>> mail_debug = yes
>> mail_gid = vmail
>> mail_location = maildir:/var/mail/%d/%n
>> mail_plugins = quota expire mail_log notify
>> mail_privileged_group = mail
>> mail_temp_dir = /tmp/Dovecot
>> mail_uid = vmail
>> 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 duplicate
>> 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 >> }
>> passdb {
>> args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
>> driver = ldap
>> }
>> plugin {
>> expire = Trash
>> mail_log_events = delete undelete expunge copy mailbox_delete
>> mailbox_rename
>> mail_log_fields = uid box msgid size
>> quota = maildir:User quota
>> quota_exceeded_message = Storage quota for this account has been
>> exceeded, please try again later.
>> quota_rule = *:storage=1G
>> quota_rule2 = Trash:storage=+30%%
>> quota_rule3 = Sent:storage=+30%%
>> quota_warning = storage=90%% quota-warning 90 %u
>> quota_warning2 = storage=75%% quota-warning 75 %u
>> }
>> pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>> postmaster_address = info at netocean.de
>> sendmail_path = /usr/local/sbin/sendmail
>> 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
>> }
>> }
>> service imap-login {
>> inet_listener imaps {
>> port = 0
>> }
>> }
>> service lmtp {
>> unix_listener /var/spool/postfix/private/dovecot-lmtp {
>> group = postfix
>> mode = 0660
>> user = postfix
>> }
>> user = vmail
>> }
>> service pop3-login {
>> inet_listener pop3s {
>> port = 0
>> }
>> }
>> service quota-warning {
>> executable = script /usr/local/bin/quota-warning.sh
>> unix_listener quota-warning {
>> user = vmail
>> }
>> user = vmail
>> }
>> ssl = required
>> ssl_cert = </etc/ssl/RootCA/certs/192.168.50.101.pem
>> ssl_cipher_list =
>>
EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
>> ssl_key = </etc/ssl/RootCA/certs/192.168.50.101.key
>> ssl_prefer_server_ciphers = yes
>> ssl_protocols = !SSLv2 !SSLv3
>> userdb {
>> driver = prefetch
>> }
>> userdb {
>> args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
>> driver = ldap
>> }
>> verbose_ssl = yes
>> protocol lda {
>> mail_plugins = sieve
>> }
>> protocol imap {
>> mail_max_userip_connections = 3
>> mail_plugins = imap_quota imap_zlib
>> }
>> protocol pop3 {
>> mail_max_userip_connections = 3
>> }
>>
>>
>>
>>
>>
>>
>>
>>
>> # ======================== dovecot/conf.d/auth-ldap.conf.ext
>> =================== #
>>
>> passdb {
>> driver = ldap
>>
>> # Path for LDAP configuration file, see
>> example-config/dovecot-ldap.conf.ext
>> args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
>> }
>>
>> # "prefetch" user database means that the passdb already
provided the
>> # needed information and there's no need to do a separate userdb
lookup.
>> # <doc/wiki/UserDatabase.Prefetch.txt>
>> userdb {
>> driver = prefetch
>> }
>>
>> userdb {
>> driver = ldap
>> args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
>>
>> # Default fields can be used to specify defaults that LDAP may
>> override
>> #default_fields = home=/home/virtual/%u
>> }
>>
>>
>>
>>
>>
>> # ======================== dovecot/dovecot-ldap.conf.ext
>> =================== #
>>
>> hosts = 127.0.0.1:389
>> dn = uid=dovecot,ou=systemuser,ou=mail,dc=MyDomain,dc=TLD
>> dnpass = TopSecret
>> tls = yes
>> tls_cert_file = /etc/ssl/RootCA/certs/192.168.50.101.pem
>> tls_key_file = /etc/ssl/RootCA/certs/192.168.50.101.key
>> debug_level = -1
>> auth_bind = yes
>> ldap_version = 3
>> base = ou=accounts,ou=mail,dc=MyDomain,dc=TLD
>> scope = subtree
>> user_attrs = mailStorageDirectory=home, mailUidNumber=uid,
>> mailGidNumber=gid, mailQuotaSize=quota_rule=*:bytes=%$,
>> mailQuotaCount=quota_rule2
>> user_filter = (&(objectClass=mailAccount)(mailAddress=%u))
>> pass_attrs = mailAddress=user,mailPassword=password
>> pass_filter =
>>
(&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=%u))
>> default_pass_scheme = SSHA
Maybe Matching Threads
- imap-login: Fatal: pipe() failed: Too many open files
- imap-login: Fatal: pipe() failed: Too many open files
- imap-login: Fatal: pipe() failed: Too many open files
- imap-login: Fatal: pipe() failed: Too many open files
- Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive