We are having problems with the latest Dovecot 1.0 (RC15) regarding file descriptors > 255 being handed off to fdopen() via crypt() via PAM(?). This is a problem on Solaris 10 due to the fact that the stdio library does not support file descriptors > 255 (in order to remain binary-compatibile with older binaries). Here are the messages we run into if we get too many (~250?) concurrent IMAP/POP sessions:
Jan 3 13:03:14 hostname dovecot-auth[5799]: crypt: fdopen(265) failed: Too many open files Jan 3 13:03:14 hostname dovecot-auth[5799]: crypt: fdopen(265) failed: Too many open files Jan 3 13:03:15 hostname dovecot: auth(default): pam(username,10.1.1.1): Child process died Jan 3 13:03:15 hostname dovecot: auth(default): PAM: Child 5799 died with signal 11
Questions:
Is there a file descriptor leak, or are there supposed to be this many open pipes in dovecot-auth? (master dovecot has way more than 256 at this point, but apparently does not use stdio.)
Has anyone tried compiling Dovecot in 64-bit mode (-xarch=v9)? I have tested the fact that this removes the >255 fd limitation in Solaris 9/10.
Has anyone even run into this problem on Solaris? I imagine anyone with more than 250 or so simultaneous IMAP/POP sessions would have had to run into it by now.
Anyone have any suggested workarounds (besides compiling in 64-bit mode)?
We have upwards of 4500 simultaneous IMAP connections alone on some of our servers (running UW IMAP still), so we obviously need to address this problem before we can fully deploy dovecot in our environment.
--
Steven F. Siirila Office: Lind Hall, Room 130B Internet Services E-mail: sfs@umn.edu Office of Information Technology Voice: (612) 626-0244 University of Minnesota Fax: (612) 626-7593