Describe the bug
Dagu does not reap orphaned child processes, thus filling up the system with zombie processes, accumulating over time if Dagu is PID 1 (like in Docker/Kubernetes).
To Reproduce
Steps to reproduce the behavior:
- Create a dummy dag and schedule it every second
- Run the dagu Docker image with the dag mounted
Expected behavior
It should continue to work.
Actual behavior
After few hours there are no more process IDs available.
It stops after having spawned ~28.000 processed on my Ubuntu machine with Docker.
This message start to appear in the logs:
runtime: failed to create new OS thread (have 8 already; errno=11)
runtime: may need to increase max user processes (ulimit -u)
fatal error: newosproc
Environment
- Dagu version: 2.6.9
- OS: Ubuntu 22.04
- Go version: 1.62.2
- Installation method: Docker
Workaroudn
Use init: true in docker-compose.yml or --init in docker run.
Describe the bug
Dagu does not reap orphaned child processes, thus filling up the system with zombie processes, accumulating over time if Dagu is PID 1 (like in Docker/Kubernetes).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should continue to work.
Actual behavior
After few hours there are no more process IDs available.
It stops after having spawned ~28.000 processed on my Ubuntu machine with Docker.
This message start to appear in the logs:
Environment
Workaroudn
Use
init: trueindocker-compose.ymlor--initindocker run.