From ec2bd8daf680027631db5c275d18f4ea90c1572a Mon Sep 17 00:00:00 2001 From: rcourtman Date: Sat, 15 Nov 2025 09:03:17 +0000 Subject: [PATCH] Fix cleanup systemd-run deadlock Problem: Cleanup script uses systemd-run with both --wait and --property="After=pulse-sensor-cleanup.service", creating a circular dependency: - cleanup.service runs and waits for uninstaller to complete - uninstaller has After=cleanup.service, so it waits for cleanup to finish - Result: Both services stuck waiting for each other Fix: Remove the --property="After=pulse-sensor-cleanup.service" line. The Conflicts=pulse-sensor-proxy.service is sufficient to ensure the proxy stops before uninstallation. The cleanup script doesn't need to finish before the uninstaller starts. Testing: Cleanup now completes successfully, removing all artifacts: - Systemd units removed - Binaries deleted from /opt/pulse/sensor-proxy/ - Data directory /var/lib/pulse-sensor-proxy/ removed - SSH keys cleaned from authorized_keys - pulse-monitor user and API tokens deleted - LXC bind mounts removed from container configs Related to #605 (temperature monitoring cleanup) --- scripts/install-sensor-proxy.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/install-sensor-proxy.sh b/scripts/install-sensor-proxy.sh index bd19b0a..cee599d 100755 --- a/scripts/install-sensor-proxy.sh +++ b/scripts/install-sensor-proxy.sh @@ -1924,7 +1924,6 @@ except: pass --unit="${UNINSTALL_UNIT}" \ --property="Type=oneshot" \ --property="Conflicts=pulse-sensor-proxy.service" \ - --property="After=pulse-sensor-cleanup.service" \ --collect \ --wait \ --quiet \