domjudge-packaging icon indicating copy to clipboard operation
domjudge-packaging copied to clipboard

Configuration is unsuitable for single core machines

Open david-perez opened this issue 2 years ago • 1 comments

judgedaemon.conf contains:

https://github.com/DOMjudge/domjudge-packaging/blob/c566fa91ca5018fccd43f15a1b4b80db9f5125e4/docker-contributor/supervisor/judgedaemon.conf#L3-L3

So supervisor goes ahead and starts 2 judgehosts, domjudge-contributor-0 and domjudge-contributor-1.

This configuration is unsuitable for running domjudge in single core machines. In a single core machine, if a judging is routed to domjudge-contributor-1, the daemon id 1 is eventually sent to rungard.c in the cpuset option. runguard.c performs a check to ensure cpuset >= 0 && cpuset < nproc, and crashes the judgehost with Running compile.sh caused an error/crash: /domjudge/bin/runguard: processor ID 1 given as cpuset, but only 1 cores configured.

Subsequent judgings will succeed since the judgehost gets disabled, but I was thoroughly confused.

I'm unfamiliar with how supervisor works, but ideally numprocs would be templated in from somewhere that caps it to the actual number of cores on the host.

david-perez avatar Oct 02 '22 21:10 david-perez

We should make this an option with default 2 that you can override

nickygerritsen avatar Oct 03 '22 05:10 nickygerritsen