I got a bunch of errors like this last night on our murder master before the mupdate process died.
the errors then repeated again this morning.


Nov 22 20:14:09 notdog mupdate[16698]: Bad file descriptor, closing connection Nov 22 20:14:09 notdog mupdate[16698]: Bad file descriptor, closing connection Nov 22 20:14:09 notdog mupdate[16698]: select() failed: Bad file descriptor Nov 22 20:14:09 notdog mupdate[16698]: select() failed: Bad file descriptor Nov 22 20:14:09 notdog mupdate[16698]: Bad file descriptor, closing connection Nov 22 20:14:09 notdog mupdate[16698]: Bad file descriptor, closing connection
....
Nov 22 20:15:00 notdog mupdate[16698]: select() failed: Bad file descriptor
Nov 22 20:14:58 notdog last message repeated 2 times
Nov 22 20:15:00 notdog mupdate[16698]: select() failed: Bad file descriptor Nov 22 20:15:00 notdog mupdate[16698]: Bad file descriptor, closing connection Nov 22 20:15:00 notdog mupdate[16698]: Bad file descriptor, closing connection Nov 22 20:15:00 notdog mupdate[16698]: prot_select() failed in thread_main: Bad file descriptor Nov 22 20:15:00 notdog mupdate[16698]: prot_select() failed in thread_main: Bad file descriptor Nov 22 20:15:00 notdog mupdate[16698]: prot_select() failed in thread_main Nov 22 20:15:00 notdog mupdate[16698]: prot_select() failed in thread_main Nov 22 20:15:00 notdog master[16689]: service mupdate pid 16698 in READY state: terminated abnormally Nov 22 20:15:00 notdog master[16689]: service mupdate pid 16698 in READY state: terminated abnormally



My ulimits for root are
root# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 2048
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 138239
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited



A few weeks ago we had errors like
Nov 3 21:12:05 notdog mupdate[11581]: Server too busy, droping connection.

so I increased the number of worker threads, connections and maxfds.

The relevant part of our config files look like:

from imapd.conf

mupdate_workers_max: 200
mupdate_connections_max: 1792


from cyrus.conf

SERVICES {
        # mupdate database master!
mupdate cmd="mupdate -m" listen="mupdate" prefork=1 maxfds=2048



anyone know what make a file descriptor bad?

We're using Cyrus 2.3 on RHEL4


thanks,

Patrick
----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to