[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Scheduler dumps core; problem with sfio?

Linux FD_SET/select implementation can only deal with 1024 fds by default.

Even if you raise the limit you need to audit all your dependant 
libraries for FD_SET usage as well, and fix them use poll().

A quick grep of scheduler/*.c shows select() is used in there.

One possible reason for the crash is that calling FD_SET(1025, 
&fdsetfoobar)  will compile without warning and appear to execute 
without crashing on that line, but it actually scribbles over memory, 
exacly 1 byte over the end of the 'fd_set fdsetfoobar' structure.

I would guess this is the cause of your SEGV.


Dawid Kuroczko wrote:
> Recently I was trying to raise the limit of simultatneous TAs
> run by scheduler (from aroung 1000 processes to around 3000).
> So, I raised the limit of open fds (ulimit -n 32767), and also
> increased the number of open files as seen by the kernel:
> echo 512000 > /proc/sys/fs/file-max
> Then I tried to run scheduler.  Scheduler already had a load of
> messages to deliver (around 1 milion files), so it started forking
> new children, when suddenly... SEGV.  100% reproducable.

To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi