Sender | Message | Time |
---|---|---|
5 May 2024 | ||
Marie | my logind somehow doesn't think i'm logged in, so my ssh agent user unit doesn't start. any ideas what could cause this? | 10:42:24 |
K900 | In reply to @nzbr:nzbr.deThis possibly | 10:45:42 |
Marie | cause or fix? it still doesn't work for me with that branch | 11:21:35 |
nzbr (they/it) | it doesn't seem to fix user systemd, but that seems to be broken on Ubuntu as well | 11:23:00 |
@man2dev:fedora.im left the room. | 15:45:45 | |
6 May 2024 | ||
gleydar | Weird, cause I have the emacs-server running via home-manger as a user-systemd service flawlessly | 11:19:34 |
gleydar | (in ubuntu) | 11:19:52 |
gleydar | * (in ubuntu) I'm on wsl version 2.2.3.0 | 11:20:31 |
Marie | i'm on 2.2.2.0 and it tells me there's no update :( | 13:01:27 |
nzbr (they/it) | In reply to@gleydar:beeper.comJust noticed that I get Failed to connect to bus: No such file or directory when running systemctl status without --user as well, so there's probably something broken with my Ubuntu install( ps shows systemd as pid 1, so it is enabled) | 14:18:06 |
K900 | That sounds like your main dbus is dead | 14:18:55 |
nzbr (they/it) | In reply to@marie:marie.cologneAnything later than 2.1.5.0 is marked a pre-release on github. You can download and install them manually: https://github.com/microsoft/WSL/releases I don't know what mechanism decides when they are availale through --update for you | 14:20:54 |
nzbr (they/it) | In reply to@k900:0upti.meI tried restarting it, but that didn't help. I'll try with a fresh debian install I have lying around | 14:21:39 |
nzbr (they/it) | Same problem | 14:33:35 |
nzbr (they/it) | I'll try a full reboot then | 14:33:45 |
gleydar | Damn, that sounds like a 💩 problem to debug | 14:35:23 |
nzbr (they/it) | Ok now sudo systemctl works, but sudo systemctl --user doesn't. Same thing on Ubuntu | 14:39:12 |
Marie | In reply to @nzbr:nzbr.deis there any session running when you run loginctl | 15:02:21 |
Marie | because thats not the case for me | 15:02:31 |
nzbr (they/it) | I went away from the laptop and put it on standby and now as I wanted to check loginctl, the session was there and it has magically fixed itself (on Ubuntu) | 17:41:57 |
nzbr (they/it) | On Debian it's still broken, but loginctl doesn't work either | 17:43:30 |
8 May 2024 | ||
nzbr (they/it) | I can confirm that it is in fact the shell wrapper that is breaking user systemd. Interestingly WSL seems to only start login (and thus a session) once, with the first shell that is opened inside the distro. The shell that is connected to the terminal is not a child of that login process
When a second shell is started, it is the child of a completely separate tree started by /init . The login process and the bash that is a child of it remain running(I'm not putting the second ps output here for space reasons) | 01:13:25 |
nzbr (they/it) | Made it write the error message to a file in /tmp on crashes and this is what I get
The easy workaround would be to sleep forever if the parent process is a login whose parent is /init , but I'd rather have it just start the shell correctly | 02:22:11 |
nzbr (they/it) | Turns out the process gets set up to ignore SIGCHLD, which makes the wrapper crash when it tries to wait for the sh it forks off to parse /etc/set-environment . The wrapper now checks if SIGCHLD is ignored and skips setting the environment if that is the case. That makes systemctl --user work again | 03:23:54 |
K900 | Oh dear lord | 04:43:51 |
K900 | So cursed | 04:43:57 |
K900 | nzbr (they/it): nix has a sigaction wrapper btw | 04:46:09 |
K900 | https://docs.rs/nix/latest/nix/sys/signal/fn.sigaction.html | 04:46:10 |
K900 | Oh I see it doesn't do null | 05:15:41 |
balanced_design joined the room. | 13:57:58 |