Sebastian,
On October 13th I sent a new email with subject "Too many references: cannot splice" with a reference to a lklm post.
You will find more info. and a patch there. I can confirm the patch is working for us.
Regards, Luis Ugalde
On Fri, Dec 2, 2016 at 5:23 PM, Sebastian Köhler sk@tyrion.de wrote:
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 =