[Pkg-samba-maint] Bug#762087: Seems like a systemd issue

Dominique Brazziel dbrazziel at snet.net
Sat Oct 11 15:11:55 UTC 2014


	This problem with samba shutting down seems to have
happened since the upgrade from systemd 208 to 215.  I believe
the samba init script(s) have been been in place for awhile now
(at least 9/22/2013 according to this changelog entry 
"Merge contents of samba-ad-dc into samba.") and there wasn't a 
problem shutting smbd/nmbd/samba-ad-dc before. 

	Adding to the confusion is a different test machine I 
have, same level of systemd (215-5+b1) and samba (2:4.1.11+dfsg-1)
which shuts down samba (samba-ad-dc/smbd/nmbd) via systemctl in
about 3 seconds.  It was not necessary to mask samba-ad-dc on that 
machine.

	On the production machine, running lsof against /etc/init.d/nmbd stop 
shows it reading the magic redirection scriptlet of /lib/lsb/init-functions.d/40-systemd,
which spawns another systemctl command (systemctl stop nmbd.service), and there
it seems each process has a the same Unix socket open (node 305782):

systemctl status samba
● samba.service - LSB: ensure Samba daemons are started (nmbd and smbd)
   Loaded: loaded (/etc/init.d/samba)
   Active: deactivating (stop) since Sat 2014-10-11 11:06:21 EDT; 42s ago
  Process: 28336 ExecStart=/etc/init.d/samba start (code=exited, status=0/SUCCESS)
  Control: 31288 (samba)
   CGroup: /system.slice/samba.service
           └─control
             ├─31288 /bin/sh /etc/init.d/samba stop
             ├─31306 /bin/sh /etc/init.d/nmbd stop
             └─31311 /bin/systemctl stop nmbd.service

Oct 11 09:56:27 asusb202 samba[28336]: Starting nmbd (via systemctl): nmbd.service.
Oct 11 09:56:28 asusb202 samba[28336]: Starting smbd (via systemctl): smbd.service.
Oct 11 09:56:28 asusb202 systemd[1]: Started LSB: ensure Samba daemons are started (nmbd and smbd).
Oct 11 11:06:21 asusb202 systemd[1]: Stopping LSB: ensure Samba daemons are started (nmbd and smbd)...
Oct 11 11:06:22 asusb202 samba[31288]: Stopping smbd (via systemctl): smbd.service.
[11:07:04]root at asusb202:/var/log/samba# lsof -p 31306
COMMAND   PID USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
nmbd    31306 root  cwd    DIR        8,1     4096      2 /
nmbd    31306 root  rtd    DIR        8,1     4096      2 /
nmbd    31306 root  txt    REG        8,1   112204   8255 /bin/dash
nmbd    31306 root  mem    REG        8,1  1745808  24697 /lib/i386-linux-gnu/i686/cmov/libc-2.19.so
nmbd    31306 root  mem    REG        8,1   135596  24693 /lib/i386-linux-gnu/ld-2.19.so
nmbd    31306 root    0r   CHR        1,3      0t0   1045 /dev/null
nmbd    31306 root    1u  unix 0xecea9d00      0t0 385702 socket
nmbd    31306 root    2u  unix 0xecea9d00      0t0 385702 socket
nmbd    31306 root   10r   REG        8,1     1948 100476 /etc/init.d/nmbd
nmbd    31306 root   11r   REG        8,1    11506  16307 /lib/lsb/init-functions
nmbd    31306 root   12r   REG        8,1     2424  24546 /lib/lsb/init-functions.d/40-systemd

lsof -p 31311
COMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
systemctl 31311 root  cwd    DIR        8,1     4096      2 /
systemctl 31311 root  rtd    DIR        8,1     4096      2 /
systemctl 31311 root  txt    REG        8,1   583220   8158 /bin/systemctl
systemctl 31311 root  mem    REG        8,1  1607712 302019 /usr/lib/locale/locale-archive
systemctl 31311 root  mem    REG        8,1    76848  24510 /lib/i386-linux-gnu/libgpg-error.so.0.12.2
systemctl 31311 root  mem    REG        8,1    15592  24756 /lib/i386-linux-gnu/i686/cmov/libdl-2.19.so
systemctl 31311 root  mem    REG        8,1   456424  24762 /lib/i386-linux-gnu/libpcre.so.3.13.1
systemctl 31311 root  mem    REG        8,1   720496  25283 /lib/i386-linux-gnu/libgcrypt.so.20.0.2
systemctl 31311 root  mem    REG        8,1   154784  24853 /lib/i386-linux-gnu/liblzma.so.5.0.0
systemctl 31311 root  mem    REG        8,1   155360  24782 /lib/i386-linux-gnu/libselinux.so.1
systemctl 31311 root  mem    REG        8,1  1745808  24697 /lib/i386-linux-gnu/i686/cmov/libc-2.19.so
systemctl 31311 root  mem    REG        8,1   132541  24712 /lib/i386-linux-gnu/i686/cmov/libpthread-2.19.so
systemctl 31311 root  mem    REG        8,1   135596  24693 /lib/i386-linux-gnu/ld-2.19.so
systemctl 31311 root    0r   CHR        1,3      0t0   1045 /dev/null
systemctl 31311 root    1u  unix 0xecea9d00      0t0 385702 socket
systemctl 31311 root    2u  unix 0xecea9d00      0t0 385702 socket
systemctl 31311 root    3u  unix 0xf44b3a80      0t0 385734 @001db

The /etc/init.d/nmbd stop script is indeed waiting:

strace -p 31306
Process 31306 attached
wait4(-1, 

The internally issued systemctl stop nmbd.service command is polling (?)
strace -p 31311
Process 31311 attached
ppoll([{fd=3, events=POLLIN}], 1, NULL, NULL, 8



More information about the Pkg-samba-maint mailing list