Ok, so this is just a quick follow up. Squid started dying too, checking the logs showed "not enough file descriptors".
After looking at both /etc/login.conf "openfiles-cur" and the sysctl kern.maxfiles limits which were set extremely high to begin with.... turns out that the: ulimit -n was only showing as 64. Changing that over to a value of 10000 (overkill but better safe then sorry), Dansguardian managed to start and now both DG and Squid seem to be online and stable! I wonder if it has something to do with the: openfiles parameter in /etc/login.conf? A response by Philip suggests this: http://openbsd.7691.n7.nabble.com/setting-resource-limits-login-conf-and-ulimit-td223656.html Just a quick observation, not sure if by design or other but ulimit doesn't seem to have a man page? man ulimit man: no entry for ulimit in the manual. man ulimit man: no entry for ulimit in the manual. Though I did find a copy here: http://ss64.com/bash/ulimit.html :-) So thanks Philip, looks like you saved my day twice! Regards, Kaya On 09/17/2014 03:55 AM, Philip Guenther wrote: > On Tue, Sep 16, 2014 at 4:27 PM, Kaya Saman <kayasa...@gmail.com> wrote: >> I'm not sure what happened but after updating OpenBSD today, then >> updating the installed packages Dansguardian seems to not be working..... > ... >> The only error in the logs that I can see is: >> >> dansguardian[11832]: Error polling child process sockets: Invalid argument >> dansguardian[11832]: Error polling child process sockets: Invalid argument > So the error means that poll() is being passed an nfds argument too > large, larger than the process could have open as fds. It looks like > the code, for some reason I cannot understand, passes poll() a pollfd > structure for each child process...with fd=-1, so that it will be > ignored. Uh, why? Why is it passing pollfd structures to the kernel > that it *wants* the kernel to ignore? It seems that the code could > simply skip over allocating and filling in those pollfd structures and > have the exact same effect. > > As for what changed, well, something changed the number of child > processes you're experiencing (load?), or the process fd limit > (RLIMIT_NOFILE) for dansguardian changed. > > > Philip Guenther