[systemd-devel] [beagleboard] Systemd blowing away screen sessions

Lennart Poettering lennart at poettering.net
Tue Mar 27 04:00:39 PDT 2012


On Thu, 22.03.12 08:48, Koen Kooi (koen at beagleboard.org) wrote:

> > I tried adding this line as suggested, to almost every file in /etc/pam.d, but it seems to silently not have any effect at all:
> > 
> >> session required pam_systemd.so create-session=1 kill-user=0 kill-session=0
> > 
> > It appears not to be able to be forced to NOT wipe out screen sessions.
> > 
> > I tried turning debug logging on for systemd, and it seems that systemd is mounting the cgroups, and is compiled to support PAM:
> > 
> >> [    1.094966] systemd[1]: systemd 40 running in system mode. (+PAM +LIBWRAP -AUDIT  -SELINUX +SYSVINIT -LIBCRYPTSETUP; angstrom)
> > 
> > The pam_systemd.so module is also present.
> > 
> > I looked at the source to setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/systemd-git-r17/packages-split/systemd-dbg/usr/src/debug/systemd-git-r17/git/src/login/pam-module.c, and the args seem to be correct.
> > 
> > This is on an image built from bitbake on 2/14/12, a simple cloud9-image.
> > 
> > I do get a lot of these, but it might just be noise, though I have to wonder if important clues might be missed because of it:
> > 
> >> [    1.968177] systemd[1]: Failed to open syslog for logging: Invalid argument
> > 
> > Other than that, I'm stumped.
> > 
> > At the moment the screen session gets destroyed, this appears in dmesg:
> > 
> >> [  162.755125] systemd[1]: dropbear at 192.168.42.4:22-192.168.42.177:40110.service stopping timed out. Killing.
> >> [  162.767310] systemd[1]: dropbear.socket: One connection closed, 1 left.
> >> [  162.774914] systemd[1]: dropbear at 192.168.42.4:22-192.168.42.177:40110.service ch anged stop-sigterm -> failed
> >> [  162.786069] systemd[1]: Unit dropbear at 192.168.42.4:22-192.168.42.177:40110.service entered failed state.
> >> [  162.796574] systemd[1]: Failed to open syslog for logging: Invalid argument
> >> [  162.804301] systemd[1]: Running GC...
> >> [  170.536606] systemd[1]: Received SIGCHLD from PID 284 (screen).
> >> [  170.545864] systemd[1]: Received SIGCHLD from PID 272 (dropbear).
> >> [  170.553801] systemd[1]: Got SIGCHLD for process 272 (dropbear)
> >> [  170.560119] systemd[1]: Child 272 died (code=exited, status=0/SUCCESS)
> >> [  170.568124] systemd[1]: Child 272 belongs to dropbear at 192.168.42.4:22-192.168.42.177:40111.service
> >> [  170.577902] systemd[1]: dropbear at 192.168.42.4:22-192.168.42.177:40111.service: main process exited, code=exited, status=0
> >> [  170.594275] systemd[1]: dropbear at 192.168.42.4:22-192.168.42.177:40111.service changed running -> stop-sigterm
> >> [  170.610754] systemd[1]: Failed to open syslog for logging: Invalid argument
> >> [  170.618362] systemd[1]: Got SIGCHLD for process 284 (screen)
> >> [  170.625516] systemd[1]: Child 284 died (code=exited, status=0/SUCCESS)
> >> [  170.633041] systemd[1]: Got SIGCHLD for process 285 (screen)
> >> [  170.639182] systemd[1]: Child 285 died (code=exited, status=1/FAILURE)
> >> [  170.647759] systemd[1]: Got SIGCHLD for process 287 (top)
> >> [  170.654115] systemd[1]: Child 287 died (code=exited, status=129/n/a)
> >> [  170.661329] systemd[1]: Got SIGCHLD for process 286 (sh)
> >> [  170.667099] systemd[1]: Child 286 died (code=killed, status=1/HUP)
> >> [  170.674291] systemd[1]: Received SIGCHLD from PID 286 (n/a).
> >> [  170.680937] systemd[1]: Accepted connection on private bus.
> >> [  170.688320] systemd[1]: Got D-Bus request: org.freedesktop.systemd1.Agent.Released() on /org/freedesktop/systemd1/agent
> >> [  170.701646] systemd[1]: Got D-Bus request: org.freedesktop.DBus.Local.Disconnect ed() on /org/freedesktop/DBus/Local
> >> 
> > 
> > Is there some magic incantation required to make systemd stop breaking screen?

The login sessions are inside the per-connection SSH cgroups now. Either
use pam_systemd to move them outside, or change the dropbear at .service
file to KillMode=process.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list