Red Hat Bugzilla – Bug 1510872
samba 4.6.2-11.el7_4: unreliable winbindd start with Type=notify and double forking
Last modified: 2018-04-10 13:31:05 EDT
Description of problem: winbindd is shipped with the following .service file: Type=notify PIDFile=/run/winbindd.pid ExecStart=/usr/sbin/winbindd "$WINBINDOPTIONS" Default WINBINDOPTIONS are empty string. Internally winbindd does double fork and notifies systemd about main process PID change at lib/util/become_daemon.c:become_daemon() Apparently this confuses systemd as Type=notify daemons aren't supposed to double fork. We got report from user which reboots system often and every once in a while winbindd doesn't actually start despite reporting OK status. Manual restart fixes the problem. We got confirmation that using WINBINDOPTIONS="-F --no-process-group" (and deleting PIDFile line for a good measure) makes winbindd startup reliable. Version-Release number of selected component (if applicable): samba-4.6.2-11.el7_4.src.rpm et al How reproducible: rarely Steps to Reproduce: 1. reboot machine until winbindd doesn't start Actual results: Expected results: winbindd starts 100% reliably Additional info:
smbd and nmbd should have the same problem as they call into become_daemon() as well.
> Additional info: What happens is that systemd sends spurious SIGTERM in the middle of daemon start.
This rare bug is Hard to even reproduce nor test. Sanity Only.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0937