[Dovecot] dovecot-auth consumes 100% CPU time on Solaris 10
Mark Heitmann
Mark.Heitmann at dnw-germany.aero
Wed Nov 28 15:41:24 EET 2007
>
> 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
More information about the dovecot
mailing list