On Wed, 2007-11-28 at 10:22 +0200, Timo Sirainen wrote:
/ On Wed, 2007-11-28 at 09:10 +0100, Mark Heitmann wrote: />/ > pollsys(0x08099448, 11, 0x08047B10, 0x00000000) = 1 />/ > fd=5 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0 />/ > fd=7 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0 />/ > fd=1 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=POLLIN|POLLPRI />/ />/ Looks like this is the problem. fd=1 should /dev/null and it should />/ never be passed to poll(). I'll try to look more into this later today. / See if this patch starts logging errors:
diff -r edd95f9c6ba4 src/auth/db-ldap.c --- a/src/auth/db-ldap.c Wed Nov 28 08:11:17 2007 +0200 +++ b/src/auth/db-ldap.c Wed Nov 28 15:27:34 2007 +0200 @@ -513,6 +513,8 @@ static void db_ldap_get_fd(struct ldap_c i_fatal("LDAP: Can't get connection fd: %s", ldap_err2string(ret)); } + if (conn->fd <= 3) + i_error("LDAP returned wrong fd %d", conn->fd); i_assert(conn->fd != -1); net_set_nonblock(conn->fd, TRUE); }
Okay, with the little debug patch, this ist the output from my dovecot.log when dovecot starts dovecot: Nov 28 14:37:04 Error: auth(default): LDAP returned wrong fd 1 Mark