Supervisor / supervisor

Supervisor process control system for Unix (supervisord)
http://supervisord.org
Other
8.46k stars 1.24k forks source link

supervisor fails to spawn child process when a non-root user has too many groups #513

Open hzheng opened 9 years ago

hzheng commented 9 years ago

In file options.py, line 1290 may throw ValueError(message: "too many groups") when a non-root user has groups more than os.NGROUPS_MAX(which is 16 in my mac machine).

Actually, if we add one line groups = groups[:os.NGROUPS_MAX] just before os.setgroups(groups), the problem will be gone. (That doesn't necessarily mean this is the best way to solve it)

Eugeny commented 2 years ago

This is till an issue 7 years later.

mnaberez commented 2 years ago

It seems that in 7 years only 2 users have written in about it, and the solution is not clear. Dropping groups arbitrarily as hinted above may create issues that are more difficult to troubleshoot than this error message. For example, a program may depend on one of the silently dropped groups and may not work for unknown reasons. There's also a mention on the Python issue tracker.