mupdate: bad file descriptor

Patrick Radtke phr2101 at columbia.edu
Wed Nov 23 11:01:49 EST 2005



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



More information about the Info-cyrus mailing list