> Hmm. The default number of files is 128 for daemons, but it's strange you'd
> hit that JUST starting up.
> 
> Can you try starting relayd with -v -d to see if it logs anything of
> interest?
> 
> Can you binary search ulimits until you find the lowest it will start with?
> 
> Reading the source it looks like socket pairs are created between all the
> relayd processes, i.e. n^2 * 2 ish file descriptors, which could exceed 128
> pretty fast. Are you running with a non-default prefork setting?

This was fixed after 6.0.

date: 2016/11/24 21:01:18;  author: reyk;  state: Exp;  lines: +110 -79;  
commitid: FkVuQgzULddApn9S;
The new fork+exec mode used too many fds in the parent process on
startup, for a short time, so we needed a rlimit hack in relayd.c.
Sync the fix from httpd: rzalamena@ has fixed proc.c and I added the
proc_flush_imsg() mechanism that makes sure that each fd is
immediately closed after forwarding it to a child process instead of
queueing it up.

OK rzalamena@ jca@ benno@

Reply via email to