Hi Leo, Leo Famulari <l...@famulari.name> skribis:
> Since the update to Shepherd 0.4.0, I've found that OpenSSH's sshd is > killed almost immediately after it starts with signal 15. I confirmed > the issue started with the Shepherd upgrade by bisecting our Git > history. > > I can reproduce the issue from commit > b6beda1d6b9093a8493b5c3cde33ed522242c451 (gnu: Add botan.). > > One interesting tidbit is that the PID file '/var/run/sshd.pid' is not > created anymore. And if I create an empty PID file by hand, it is > removed after trying to start the ssh-daemon service. Also, the sshd > user's home '/var/run/sshd' does not exist, and is similarly removed if > it does exist. Weird. On my laptop /var/run/sshd.pid exists and contains the right PID. /var/run/sshd does not exist, though. When I run the config you posted in ‘guix system vm’, ‘ssh-daemon’ is correctly started and I see a correct ssh.pid and /var/run/sshd exists as well. > I ran the OpenSSH system test `make check-system TESTS=openssh` and it > failed when it could not find the PID file. It passed on another > non-GuixSD machine. The failing machine is relatively slow and lacks > KVM: a ThinkPad x200s. FWIW on my x86_64 laptop, I’ve run it several times in a row (using “guix build /gnu/store/…-openssh.drv --check”), and it always succeeds. > I modified the sshd invocation to print some debug output ('-d -E > /tmp/sshd.log') and this is what it shows: > > ------ > debug1: sshd version OpenSSH_7.6, OpenSSL 1.0.2o 27 Mar 2018 > debug1: private host key #0: ssh-rsa SHA256:REDACTED > debug1: private host key #1: ssh-dss SHA256:REDACTED > debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:REDACTED > debug1: private host key #3: ssh-ed25519 SHA256:REDACTED > debug1: > rexec_argv='/gnu/store/az7vib8gk16fybhshh5xpkljmgxyrs4k-openssh-7.6p1/sbin/sshd' > debug1: rexec_argv='-D' > debug1: rexec_argv='-d' > debug1: rexec_argv='-E' > debug1: rexec_argv='/tmp/sshd.log' > debug1: rexec_argv='-f' > debug1: > rexec_argv='/gnu/store/miy7xg5j4fg3mn04mcl27awmcl6s97ss-sshd_config' > debug1: Set /proc/self/oom_score_adj from 0 to -1000 > debug1: Bind to port 22 on 0.0.0.0. > Server listening on 0.0.0.0 port 22. > debug1: Bind to port 22 on ::. > Server listening on :: port 22. > Received signal 15; terminating. > ------ Hmm, where could that SIGTERM come from? ‘make-kill-destructor’ uses it when a service is stopped, and otherwise it’s sent when we’re shutting the system down. But here?… Thanks, Ludo’.