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