| 23 Jan 2025 |
ElvishJerricco | and we should not get into it right now :P | 03:01:05 |
matthewcroughan | if you used that, you could soft-reboot into an "upgradable" state, and then perform your nixos-rebuild, and then switch back | 03:01:28 |
matthewcroughan | having a rw specialisation | 03:01:41 |
ElvishJerricco | like I said, it's complicated. More complicated than that | 03:01:51 |
matthewcroughan | switch into the rw specialisation with soft-reboot, then soft-reboot into the ro generation | 03:01:55 |
matthewcroughan | hehe okay, I will play with that on my own since it seems fun | 03:02:06 |
matthewcroughan | [Unit]
Description=My Surviving Service
SurviveFinalKillSignal=yes
| 03:02:19 |
matthewcroughan | so much death | 03:02:20 |
ElvishJerricco | there's a draft PR for it | 03:02:21 |
matthewcroughan | I also found that on asahi the shutdown -H feature doesn't work | 03:03:12 |
matthewcroughan | nor does systemctl halt, it just reboots | 03:03:20 |
matthewcroughan | the SMC on macs is BS | 03:03:27 |
matthewcroughan | github.com/AsahiLinux/linux/blob/asahi/drivers/power/reset/macsmc-reboot.c#L204-L208 | 03:03:46 |
| 24 Jan 2025 |
| rntpts joined the room. | 17:30:39 |
| bumperboat joined the room. | 20:04:08 |
bumperboat | anyone seeing this Failed to connect to user scope bus via local transport: Connection refused with sytemctl --user | 20:05:28 |
| 25 Jan 2025 |
jade_ | In reply to @bumperboat:matrix.org anyone seeing this Failed to connect to user scope bus via local transport: Connection refused with sytemctl --user check the status of user@$UID.service on the system manager perhaps | 04:24:39 |
| aloisw changed their profile picture. | 10:22:06 |
| 26 Jan 2025 |
iridium | ElvishJerricco: I think I might have found the reason for my "Freezing execution"-bug, and I think it's pretty mundane, actually 🙂 | 15:40:53 |
iridium | Or let's say one reason, not sure if it's the only one | 15:41:58 |
iridium | https://github.com/systemd/systemd/blob/main/src/core/manager.c#L4272-L4279 | 15:42:51 |
iridium | That's the part that's failing | 15:42:59 |
iridium | One of the "generators" systemd is trying to start is this one here: https://github.com/systemd/systemd/blob/main/src/fstab-generator/fstab-generator.c | 15:43:16 |
iridium | That one calls canonicalize_mount_path on every mounted filesystem: https://github.com/systemd/systemd/blob/main/src/fstab-generator/fstab-generator.c#L859 | 15:43:47 |
iridium | That one calls chase() on every path of a mounted FS (one of them being an NFS mount in my case): https://github.com/systemd/systemd/blob/main/src/fstab-generator/fstab-generator.c#L871 | 15:44:18 |
iridium | Now, that one will call fstat() on the filesystem mount path (ultimately...): https://github.com/systemd/systemd/blob/main/src/basic/chase.c#L401 | 15:45:27 |
iridium | Now, when this code is running is in the middle of the switch-to-configuration run, which means: NetworkManager is stopped, and the system currently doesn't have any network. Accesses to NFS shared will just... hang (indefinitely). | 15:46:12 |
iridium | Thus, the fstab generator will hang (indefinitely) | 15:46:31 |
iridium | https://github.com/systemd/systemd/blob/main/src/core/manager.c#L4272 this one also calls waitpid() internally - with some timeout, that timeout being a lot larger than the timeout in switch-to-configuration. So it first fails on the console and then spits out an error message in the kernel ringbuffer 2min later or so | 15:51:11 |
iridium | Now, the interesting question is if there's any other code that would access mounted FSes during restart... But that definitely seems to be one of them. | 15:52:17 |