Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1510872 - samba 4.6.2-11.el7_4: unreliable winbindd start with Type=notify and double forking
samba 4.6.2-11.el7_4: unreliable winbindd start with Type=notify and double f...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: samba (Show other bugs)
7.6-Alt
All Linux
unspecified Severity unspecified
: rc
: ---
Assigned To: Andreas Schneider
Andrej Dzilský
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-11-08 06:15 EST by Alexey Dobriyan
Modified: 2018-04-10 13:31 EDT (History)
8 users (show)

See Also:
Fixed In Version: samba-4.7.1-4.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 13:30:15 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Samba Project 13129 None None None 2017-11-10 03:34 EST
Red Hat Product Errata RHBA-2018:0937 None None None 2018-04-10 13:31 EDT

  None (edit)
Description Alexey Dobriyan 2017-11-08 06:15:31 EST
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:
Comment 2 Alexey Dobriyan 2017-11-08 06:21:00 EST
smbd and nmbd should have the same problem as they call into become_daemon() as well.
Comment 3 Alexey Dobriyan 2017-11-08 06:22:21 EST
> Additional info:

What happens is that systemd sends spurious SIGTERM in the middle of daemon start.
Comment 6 Andrej Dzilský 2017-12-18 08:55:21 EST
This rare bug is Hard to even reproduce nor test. Sanity Only.
Comment 10 errata-xmlrpc 2018-04-10 13:30:15 EDT
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

Note You need to log in before you can comment on or make changes to this bug.