Too many references: cannot splice
Sebastian Köhler
sk at tyrion.de
Fri Dec 2 16:23:47 UTC 2016
Hello,
multiple times per day one of our Dovecot servers has the problem that it suddenly refuses to accept new connections and then floods the logs with these messages:
Dec 2 12:43:06 alfa3201 dovecot: pop3-login: Error: fd_send(pop3, 18) failed: Too many references: cannot splice
Dec 2 12:43:07 alfa3201 dovecot: pop3-login: Error: fd_send(pop3, 18) failed: Too many references: cannot splice
Dec 2 12:43:07 alfa3201 dovecot: imap-login: Error: fd_send(imap, 16) failed: Too many references: cannot splice
Dec 2 12:43:07 alfa3201 dovecot: imap-login: Error: fd_send(imap, 16) failed: Too many references: cannot splice
We have to either do a restart of the server or a doveadm kick on all users to make it reachable again. On my search for a solution I found a similar report from March[1] however without a fix.
[1] http://dovecot.org/pipermail/dovecot/2016-March/103514.html
dovecot -n
# 2.2.24 (a82c823): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 4.4.17-040417-generic x86_64 Debian 8.6
auth_mechanisms = plain login
debug_log_path = /var/log/dovecot-debug.log
default_client_limit = 8003
default_process_limit = 2000
default_vsz_limit = 512 M
disable_plaintext_auth = no
listen = *
login_greeting = [CENSORED] - ready.
mail_location = maildir:~/Maildir:CONTROL=/opt/dovecot/control/%n-control:INDEX=/opt/dovecot/index/%n
mail_plugins = " stats quota"
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix = INBOX.
separator = .
}
passdb {
args = dovecot-%s
driver = pam
}
plugin {
quota = fs:%n(soft quota)
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
stats_command_min_time = 1 mins
stats_domain_min_time = 12 hours
stats_ip_min_time = 12 hours
stats_memory_limit = 16 M
stats_refresh = 30 secs
stats_session_min_time = 15 mins
stats_track_cmds = no
stats_user_min_time = 24 hours
}
protocols = " imap pop3"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
}
service imap-login {
inet_listener imaps {
ssl = yes
}
}
service imap-postlogin {
executable = script-login /etc/dovecot/post-login/expire.sh
}
service imap {
executable = imap imap-postlogin
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service pop3-postlogin {
executable = script-login /etc/dovecot/post-login/expire.sh
}
service pop3 {
executable = pop3 pop3-postlogin
}
service quota-status {
executable = quota-status -p postfix
unix_listener /var/spool/postfix/private/quota {
group = postfix
mode = 0660
user = postfix
}
}
service stats {
fifo_listener stats-mail {
mode = 0666
user = dovecot
}
}
ssl_ca = </etc/ssl.crt/ca-admin.crt
ssl_cert = </etc/ssl.crt/admin.crt
ssl_key = </etc/ssl.key/admin.key
ssl_protocols = !SSLv2 !SSLv3
userdb {
driver = passwd
}
protocol imap {
imap_capability = +XLIST +NAMESPACE METADATA QUOTA
imap_idle_notify_interval = 1 mins
mail_max_userip_connections = 500
mail_plugins = " stats quota imap_quota imap_stats"
}
protocol pop3 {
mail_max_userip_connections = 500
mail_plugins = " stats quota"
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
More information about the dovecot
mailing list