> > Can you also provide the output of “systemctl dump” and “systemctl
> > list-jobs” in that situation please?

Before answering your questions, let me add that Michael Biebl's
suggestion fixes the problem.

And now to some 350+ lines of output. ;)

chopin:~# systemctl list-jobs
 JOB UNIT          TYPE STATE  
2333 samba.service stop running
2335 smbd.service  stop waiting

2 jobs listed.

chopin:~# systemctl dump (slightly edited)
-> Unit samba.service:
        Description: LSB: ensure Samba daemons are started (nmbd and smbd)
        Instance: n/a
        Unit Load State: loaded
        Unit Active State: deactivating
        Inactive Exit Timestamp: Fri 2014-02-28 11:53:48 CET
        Active Enter Timestamp: Fri 2014-02-28 11:53:49 CET
        Active Exit Timestamp: Fri 2014-02-28 11:53:56 CET
        Inactive Enter Timestamp: Fri 2014-02-28 11:53:15 CET
        GC Check Good: yes
        Need Daemon Reload: no
        Name: samba.service
        Source Path: /etc/init.d/samba
        Condition Timestamp: Fri 2014-02-28 11:53:48 CET
        Condition Result: yes
        Requires: basic.target
        WantedBy: multi-user.target
        WantedBy: graphical.target
        Conflicts: shutdown.target
        Before: shutdown.target
        Before: multi-user.target
        Before: graphical.target
        After: cups.service
        After: smbd.service
        After: nmbd.service
        After: systemd-journald.socket
        After: basic.target
        References: smbd.service
        References: nmbd.service
        References: systemd-journald.socket
        References: basic.target
        References: shutdown.target
        ReferencedBy: cups.service
        ReferencedBy: multi-user.target
        ReferencedBy: graphical.target
        StopWhenUnneeded: no
        RefuseManualStart: no
        RefuseManualStop: no
        DefaultDependencies: yes
        OnFailureIsolate: no
        IgnoreOnIsolate: no
        IgnoreOnSnapshot: no
        ControlGroup: cpu:/system/samba.service
        ControlGroup: name=systemd:/system/samba.service
        Service State: stop
        Result: success
        Reload Result: success
        PermissionsStartOnly: no
        RootDirectoryStartOnly: no
        RemainAfterExit: yes
        GuessMainPID: no
        Type: forking
        Restart: no
        NotifyAccess: none
        Control PID: 12480
        KillMode: process
        KillSignal: SIGTERM
        SendSIGKILL: yes
        UMask: 0022
        WorkingDirectory: /
        RootDirectory: /
        NonBlocking: no
        PrivateTmp: no
        ControlGroupModify: no
        ControlGroupPersistent: yes
        PrivateNetwork: no
        IgnoreSIGPIPE: no
        LimitNOFILE: 4096
        StandardInput: null
        StandardOutput: journal
        StandardError: inherit
        SyslogFacility: daemon
        SyslogLevel: info
        -> ExecStart:
                Command Line: /etc/init.d/samba start
                        PID: 12420
                        Start Timestamp: Fri 2014-02-28 11:53:48 CET
                        Exit Timestamp: Fri 2014-02-28 11:53:49 CET
                        Exit Code: exited
                        Exit Status: 0
        -> ExecReload:
                Command Line: /etc/init.d/samba reload
        -> ExecStop:
                Command Line: /etc/init.d/samba stop
                        PID: 12480
                        Start Timestamp: Fri 2014-02-28 11:53:56 CET
        SysV Init Script has LSB Header: yes
        SysVEnabled: yes
        SysVStartPriority: 6
        -> Job 2333:
                Action: samba.service -> stop
                State: running
                Forced: yes
                Irreversible: no

-> Unit smbd.service:
        Description: LSB: start Samba SMB/CIFS daemon (smbd)
        Instance: n/a
        Unit Load State: loaded
        Unit Active State: active
        Inactive Exit Timestamp: Fri 2014-02-28 11:53:48 CET
        Active Enter Timestamp: Fri 2014-02-28 11:53:49 CET
        Active Exit Timestamp: Fri 2014-02-28 11:53:13 CET
        Inactive Enter Timestamp: Fri 2014-02-28 11:53:14 CET
        GC Check Good: yes
        Need Daemon Reload: no
        Name: smbd.service
        Source Path: /etc/init.d/smbd
        Condition Timestamp: Fri 2014-02-28 11:53:48 CET
        Condition Result: yes
        Requires: basic.target
        WantedBy: multi-user.target
        WantedBy: graphical.target
        Conflicts: shutdown.target
        Before: shutdown.target
        Before: samba.service
        Before: multi-user.target
        Before: graphical.target
        After: nmbd.service
        After: network.target
        After: local-fs.target
        After: remote-fs.target
        After: slapd.service
        After: cups.service
        After: systemd-journald.socket
        After: basic.target
        References: network.target
        References: local-fs.target
        References: remote-fs.target
        References: slapd.service
        References: cups.service
        References: systemd-journald.socket
        References: basic.target
        References: shutdown.target
        ReferencedBy: nmbd.service
        ReferencedBy: samba.service
        ReferencedBy: multi-user.target
        ReferencedBy: graphical.target
        StopWhenUnneeded: no
        RefuseManualStart: no
        RefuseManualStop: no
        DefaultDependencies: yes
        OnFailureIsolate: no
        IgnoreOnIsolate: no
        IgnoreOnSnapshot: no
        ControlGroup: cpu:/system/smbd.service
        ControlGroup: name=systemd:/system/smbd.service
        Service State: running
        Result: success
        Reload Result: success
        PermissionsStartOnly: no
        RootDirectoryStartOnly: no
        RemainAfterExit: yes
        GuessMainPID: no
        Type: forking
        Restart: no
        NotifyAccess: none
        KillMode: process
        KillSignal: SIGTERM
        SendSIGKILL: yes
        UMask: 0022
        WorkingDirectory: /
        RootDirectory: /
        NonBlocking: no
        PrivateTmp: no
        ControlGroupModify: no
        ControlGroupPersistent: yes
        PrivateNetwork: no
        IgnoreSIGPIPE: no
        LimitNOFILE: 4096
        StandardInput: null
        StandardOutput: journal
        StandardError: inherit
        SyslogFacility: daemon
        SyslogLevel: info
        -> ExecStart:
                Command Line: /etc/init.d/smbd start
                        PID: 12445
                        Start Timestamp: Fri 2014-02-28 11:53:48 CET
                        Exit Timestamp: Fri 2014-02-28 11:53:49 CET
                        Exit Code: exited
                        Exit Status: 0
        -> ExecReload:
                Command Line: /etc/init.d/smbd reload
        -> ExecStop:
                Command Line: /etc/init.d/smbd stop
        SysV Init Script has LSB Header: yes
        SysVEnabled: yes
        SysVStartPriority: 5
        SysVRunLevels: 2345
        -> Job 2335:
                Action: smbd.service -> stop
                State: waiting
                Forced: yes
                Irreversible: no

-> Unit nmbd.service:
        Description: LSB: start Samba NetBIOS nameserver (nmbd)
        Instance: n/a
        Unit Load State: loaded
        Unit Active State: active
        Inactive Exit Timestamp: Fri 2014-02-28 11:53:48 CET
        Active Enter Timestamp: Fri 2014-02-28 11:53:48 CET
        Active Exit Timestamp: Fri 2014-02-28 11:53:14 CET
        Inactive Enter Timestamp: Fri 2014-02-28 11:53:15 CET
        GC Check Good: yes
        Need Daemon Reload: no
        Name: nmbd.service
        Source Path: /etc/init.d/nmbd
        Condition Timestamp: Fri 2014-02-28 11:53:48 CET
        Condition Result: yes
        Requires: basic.target
        WantedBy: multi-user.target
        WantedBy: graphical.target
        Conflicts: shutdown.target
        Before: smbd.service
        Before: shutdown.target
        Before: samba.service
        Before: multi-user.target
        Before: graphical.target
        After: network.target
        After: local-fs.target
        After: remote-fs.target
        After: systemd-journald.socket
        After: basic.target
        References: network.target
        References: local-fs.target
        References: remote-fs.target
        References: smbd.service
        References: systemd-journald.socket
        References: basic.target
        References: shutdown.target
        ReferencedBy: samba.service
        ReferencedBy: multi-user.target
        ReferencedBy: graphical.target
        StopWhenUnneeded: no
        RefuseManualStart: no
        RefuseManualStop: no
        DefaultDependencies: yes
        OnFailureIsolate: no
        IgnoreOnIsolate: no
        IgnoreOnSnapshot: no
        ControlGroup: cpu:/system/nmbd.service
        ControlGroup: name=systemd:/system/nmbd.service
        Service State: running
        Result: success
        Reload Result: success
        PermissionsStartOnly: no
        RootDirectoryStartOnly: no
        RemainAfterExit: yes
        GuessMainPID: no
        Type: forking
        Restart: no
        NotifyAccess: none
        KillMode: process
        KillSignal: SIGTERM
        SendSIGKILL: yes
        UMask: 0022
        WorkingDirectory: /
        RootDirectory: /
        NonBlocking: no
        PrivateTmp: no
        ControlGroupModify: no
        ControlGroupPersistent: yes
        PrivateNetwork: no
        IgnoreSIGPIPE: no
        LimitNOFILE: 4096
        StandardInput: null
        StandardOutput: journal
        StandardError: inherit
        SyslogFacility: daemon
        SyslogLevel: info
        -> ExecStart:
                Command Line: /etc/init.d/nmbd start
                        PID: 12427
                        Start Timestamp: Fri 2014-02-28 11:53:48 CET
                        Exit Timestamp: Fri 2014-02-28 11:53:48 CET
                        Exit Code: exited
                        Exit Status: 0
        -> ExecStop:
                Command Line: /etc/init.d/nmbd stop
        SysV Init Script has LSB Header: yes
        SysVEnabled: yes
        SysVStartPriority: 1
        SysVRunLevels: 2345

-> Unit samba-ad-dc.service:
        Description: LSB: start Samba daemons for the AD DC
        Instance: n/a
        Unit Load State: loaded
        Unit Active State: inactive
        Inactive Exit Timestamp: Fri 2014-02-28 11:53:49 CET
        Active Enter Timestamp: Fri 2014-02-28 11:53:49 CET
        Active Exit Timestamp: Fri 2014-02-28 11:53:56 CET
        Inactive Enter Timestamp: Fri 2014-02-28 11:53:57 CET
        GC Check Good: yes
        Need Daemon Reload: no
        Name: samba-ad-dc.service
        Source Path: /etc/init.d/samba-ad-dc
        Condition Timestamp: Fri 2014-02-28 11:53:49 CET
        Condition Result: yes
        Requires: basic.target
        WantedBy: multi-user.target
        WantedBy: graphical.target
        Conflicts: shutdown.target
        Before: shutdown.target
        Before: multi-user.target
        Before: graphical.target
        After: network.target
        After: local-fs.target
        After: remote-fs.target
        After: systemd-journald.socket
        After: basic.target
        References: network.target
        References: local-fs.target
        References: remote-fs.target
        References: systemd-journald.socket
        References: basic.target
        References: shutdown.target
        ReferencedBy: multi-user.target
        ReferencedBy: graphical.target
        StopWhenUnneeded: no
        RefuseManualStart: no
        RefuseManualStop: no
        DefaultDependencies: yes
        OnFailureIsolate: no
        IgnoreOnIsolate: no
        IgnoreOnSnapshot: no
        ControlGroup: cpu:/system/samba-ad-dc.service
        ControlGroup: name=systemd:/system/samba-ad-dc.service
        Service State: dead
        Result: success
        Reload Result: success
        PermissionsStartOnly: no
        RootDirectoryStartOnly: no
        RemainAfterExit: yes
        GuessMainPID: no
        Type: forking
        Restart: no
        NotifyAccess: none
        KillMode: process
        KillSignal: SIGTERM
        SendSIGKILL: yes
        UMask: 0022
        WorkingDirectory: /
        RootDirectory: /
        NonBlocking: no
        PrivateTmp: no
        ControlGroupModify: no
        ControlGroupPersistent: yes
        PrivateNetwork: no
        IgnoreSIGPIPE: no
        LimitNOFILE: 4096
        StandardInput: null
        StandardOutput: journal
        StandardError: inherit
        SyslogFacility: daemon
        SyslogLevel: info
        -> ExecStart:
                Command Line: /etc/init.d/samba-ad-dc start
                        PID: 12463
                        Start Timestamp: Fri 2014-02-28 11:53:49 CET
                        Exit Timestamp: Fri 2014-02-28 11:53:49 CET
                        Exit Code: exited
                        Exit Status: 0
        -> ExecStop:
                Command Line: /etc/init.d/samba-ad-dc stop
                        PID: 12487
                        Start Timestamp: Fri 2014-02-28 11:53:56 CET
                        Exit Timestamp: Fri 2014-02-28 11:53:57 CET
                        Exit Code: exited
                        Exit Status: 0
        SysV Init Script has LSB Header: yes
        SysVEnabled: yes
        SysVStartPriority: 1
        SysVRunLevels: 2345

> The samba sysv init script is an odd one. I'm copying the relevant parts
> here:
> 
> ### BEGIN INIT INFO
> # Provides:          samba
> # Required-Start:    smbd nmbd
> # Required-Stop:     smbd nmbd
> # Default-Start:
> # Default-Stop:
> # Short-Description: ensure Samba daemons are started (nmbd and smbd)
> ### END INIT INFO
> 
> set -e
> 
> # start nmbd, smbd and samba-ad-dc unconditionally
> # the init scripts themselves check if they are needed or not
> case $1 in
>         start)
>                 /etc/init.d/nmbd start
>                 /etc/init.d/smbd start
>                 /etc/init.d/samba-ad-dc start
>                 ;;
>         stop)
>                 /etc/init.d/samba-ad-dc stop
>                 /etc/init.d/smbd stop
>                 /etc/init.d/nmbd stop
> 
> So, the samba.service depends on smbd.service and nmbd.service (via its
> LSB header) yet it stops those services manually. This leads to a dead lock.

Exactly.

> If you remove "smbd nmbd" from  Required-Start:/Required-Stop: and
> reload systemd, this should fix your issue.

It does. So we reassign the bug to the samba package and wait for an
updated init.d script?


Sooner or later, proper service/socket files might be useful, too.
Conveniently, Arch (and others) offers templates. ;)

   
<https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/samba>


Cheers

-- 
mail: [email protected]      http://adi.thur.de      PGP/GPG: key via keyserver


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to