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

Thanks Philip for the response.

It wouldn't be load that's causing this issue as I'm monitoring the machine using multiple monitoring tools.

As to the process limit, I've got infinity set for the daemon under login.conf though "root" user is at defaults.

Since Dansguardian is being run as it's own user the "root" portion shouldn't apply.

The kernel maxproc value is set to 1310 (default??).

Outside of modifying the source code is there anything I can try within the system to allow Dansgaurdian to run?


I'm not sure if the upgrade changed any default values that may have effected this as the last update went through fine??

Weird!


Regards,


Kaya

Reply via email to