Bug#945540: tmux processes killed when Xorg exits uncleanly

chrysn chrysn at fsfe.org
Tue Nov 26 17:15:55 GMT 2019


Package: systemd
Version: 243-6
Severity: normal

When Xorg is closed forcibly on my machine (I noticed when it probably
crashed, but for reproduction `sudo pkill -KILL`ed it), all the logged
in user's processes get killed, as observed in a running `tmux` session.

For comparison (and in accordance with the default
KillUserProcesses=no), if the X window manager (i3wm in my case) exits
cleanly, the tmux session is kept alive.

(When reproducing, make sure using `loginctl` / `loginctl session-status
$OLDER_SESSION_ID` that your current tmux session is not part of an
older logind session; that'd keep it from being terminated).

journalctl shows the following around an Xorg termination:

Nov 26 14:43:36 hephaistos sudo[1757962]: pam_unix(sudo:session): session opened for user root by chrysn(uid=0)
Nov 26 14:43:36 hephaistos sudo[1757962]: pam_unix(sudo:session): session closed for user root
Nov 26 14:43:36 hephaistos at-spi-bus-launcher[1998]: X connection to :0 broken (explicit kill or server shutdown).
Nov 26 14:43:36 hephaistos systemd[1]: session-2017.scope: Killing process 1757746 (lightdm) with signal SIGTERM.
Nov 26 14:43:36 hephaistos systemd[1]: session-2017.scope: Killing process 1757885 (tmux: server) with signal SIGTERM.
Nov 26 14:43:36 hephaistos systemd[1]: session-2017.scope: Killing process 1757886 (zsh) with signal SIGTERM.
Nov 26 14:43:36 hephaistos systemd[1]: Stopping Session 2017 of user chrysn.
Nov 26 14:43:36 hephaistos systemd[1]: session-2017.scope: Succeeded.
Nov 26 14:43:36 hephaistos systemd[1]: Stopped Session 2017 of user chrysn.
Nov 26 14:43:36 hephaistos systemd-logind[1291]: Removed session 2017.

Setting a user to linger using `loginctl enable-linger` had no
observable effect on that behavior -- and anyway, `loginctl
show-session` displays `KillUserProcesses=no`.

The behavior was different on a fresh Buster installation with only tmux
installed additionally (both `sudo pkill -KILL wayland` and logging out
killed tmux, even though KillUserProcesses=no, but enable-linger
prevented killing in both cases). With linger disabled agani and "Gnome
on Xorg" as login session, the tmux session survived even a KILL Xorg,
as it did with the later installed and tried i3wm. That behavior did not
change after an upgrade to sid either (tested with i3 and KILL), so it
stands to assume that there is some property my system has gotten in the
upgrade path from an original sid installation in August 2018 that led
there. (I did no conscious change to the KillUserProcesses settings, and
etckeeper shows no change either since the original setup).

There's a lot of packages involved, so please let me know if you need
any data if only to assign it right, but the log lines of systemd
killing processes hopefully justify this initial assignment.

-- Package-specific info:

(Just in case it's relevant:)

$ systemd-delta
[MASKED]     /etc/systemd/system/iodined.service → /lib/systemd/system/iodined.service
[EXTENDED]   /lib/systemd/system/rc-local.service → /lib/systemd/system/rc-local.service.d/debian.conf
[EXTENDED]   /lib/systemd/system/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service.d/resolvconf.conf
[EXTENDED]   /lib/systemd/system/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf

4 overridden configuration files found.

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.3.0-2-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages systemd depends on:
ii  adduser          3.118
ii  libacl1          2.2.53-5
ii  libapparmor1     2.13.3-6
ii  libaudit1        1:2.8.5-2
ii  libblkid1        2.34-0.1
ii  libc6            2.29-3
ii  libcap2          1:2.27-1
ii  libcryptsetup12  2:2.2.2-1
ii  libgcrypt20      1.8.5-3
ii  libgnutls30      3.6.10-4
ii  libgpg-error0    1.36-7
ii  libidn2-0        2.2.0-2
ii  libip4tc2        1.8.3-2
ii  libkmod2         26-3
ii  liblz4-1         1.9.2-2
ii  liblzma5         5.2.4-1+b1
ii  libmount1        2.34-0.1
ii  libpam0g         1.3.1-5
ii  libpcre2-8-0     10.32-5+b1
ii  libseccomp2      2.4.2-1
ii  libselinux1      2.9-3
ii  libsystemd0      243-6
ii  mount            2.34-0.1
ii  util-linux       2.34-0.1

Versions of packages systemd recommends:
ii  dbus            1.12.16-2
ii  libpam-systemd  243-6

Versions of packages systemd suggests:
ii  policykit-1        0.105-26
pn  systemd-container  <none>

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.135
ii  udev             243-6

-- no debconf information

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20191126/b8cb1f51/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list