Re: Too many references: cannot splice

2016-12-02 Thread Sebastian Köhler
December 2, 2016 6:58 PM, "Luis Ugalde"  wrote:
> On October 13th I sent a new email with subject "Too many references:
> cannot splice" with a reference to a lklm post.

Thanks Luis for the info. I wonder why I did not find that post...

> You will find more info. and a patch there. I can confirm the patch is
> working for us.

I have applied that patch to the server and I will report back in a couple of 
days if it is also working for us.

-- Sebastian


Too many references: cannot splice

2016-12-02 Thread Sebastian Köhler
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 = 

[Dovecot] Pigeonhole: error while loading shared libraries

2010-08-18 Thread Sebastian Köhler
Hi,

I built pigeonhole from the hg repo for Dovecot 2.0. Local sieve
scripts work fine. But as soon as I try to connect via managesieve I get
this errror:

managesieve-login: Error: dovecot/managesieve-login: error while loading
shared libraries: libdovecot-login.so.0: cannot open shared object file:
No such file or directory


My dovecot install is in /usr/lib/dovecot and I had to symlink the libs
in the dovecot folder to /usr/lib to make managesieve work.


My configure options were: --prefix=/usr --with-dovecot=/usr/lib/dovecot


Sebastian


-- 
The best thing about a boolean is even if you are wrong, you are only 
off by a bit.


pgphGDNniHfZ5.pgp
Description: PGP signature


Re: [Dovecot] Pigeonhole: error while loading shared libraries

2010-08-18 Thread Sebastian Köhler
On Wed, Aug 18, 2010 at 02:02:13PM +0100, Timo Sirainen wrote: 
 Does ldd /usr/libexec/dovecot/managesieve-login show that it finds
 libdovecot-login.so.0?

Without symlinks in /usr/lib/ ldd looks like this:

ldd /usr/lib/dovecot/managesieve-login 
linux-gate.so.1 =  (0xb77b8000)
libdovecot-login.so.0 = not found
libdovecot.so.0 = not found
libc.so.6 = /lib/libc.so.6 (0xb7662000)
/lib/ld-linux.so.2 (0xb77b9000)


For some reason managesieve-login ignores the libs it was compiled
against and only looks into /usr/lib for the libs.

 What OS is this?

Arch Linux

-- 
The best thing about a boolean is even if you are wrong, you are only 
off by a bit.


pgpMmp1gSdw3V.pgp
Description: PGP signature


Re: [Dovecot] Pigeonhole: error while loading shared libraries

2010-08-18 Thread Sebastian Köhler
On Wed, Aug 18, 2010 at 04:09:21PM +0100, Timo Sirainen wrote:
 On Wed, 2010-08-18 at 16:29 +0200, Sebastian Köhler wrote:
  For some reason managesieve-login ignores the libs it was compiled
  against and only looks into /usr/lib for the libs.
 
 What is the linking command for managesieve-login? It should be
 something like:
 
 libtool: link: gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes
 -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2
 -Wbad-function-cast -Wstrict-aliasing=2 -o managesieve-login client.o
 client-authenticate.o managesieve-login-settings.o
 managesieve-proxy.o  ../../src/lib-managesieve/libmanagesieve.a 
 /usr/local/lib/dovecot/libdovecot-login.so -L/usr/local/lib/dovecot 
 /usr/local/lib/dovecot/libdovecot.so -lrt -Wl,-rpath 
 -Wl,/usr/local/lib/dovecot -Wl,-rpath -Wl,/usr/local/lib/dovecot



libtool: link: gcc -std=gnu99 -march=i686 -mtune=generic -O2 -pipe -Wall
-W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -o
managesieve-login client.o client-authenticate.o
managesieve-login-settings.o managesieve-proxy.o
../../src/lib-managesieve/libmanagesieve.a -ldovecot-login
-L/usr/lib/dovecot -ldovecot -lrt


 Where the -Wl,-rpath -Wl,/usr/local/lib/dovecot is the important part.

obviously not there :) But other lines have it e.g.

libtool: link: gcc -std=gnu99 -march=i686 -mtune=generic -O2 -pipe -Wall
-W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -o
.libs/sieved sieved.o -Wl,--export-dynamic
../../src/lib-sieve/.libs/libdovecot-sieve.so
../../src/lib-sieve-tool/.libs/libsieve-tool.a
../../src/sieve-tools/debug/.libs/libsieve_ext_debug.a -ldovecot-storage
-ldovecot-lda -L/usr/lib/dovecot -ldovecot -lrt -Wl,-rpath
-Wl,/usr/lib/dovecot


Sebastian

-- 
The best thing about a boolean is even if you are wrong, you are only 
off by a bit.


pgpE6ZeMNSpzk.pgp
Description: PGP signature