-
-
Notifications
You must be signed in to change notification settings - Fork 581
Description
Summary:
Certain AppImages (e.g., Viber.AppImage, Beeper.AppImage, Electron-based) running on openSUSE Tumbleweed prevent the system from suspending/hibernating. When these AppImages are running, systemd-sleep sometimes fails with a "Failed to freeze unit 'user.slice': Connection timed out" error. In the worst case, the entire computer hard-freezes (full system hang), and only a hardware reset helps.
Steps to Reproduce:
Download and run an AppImage (e.g., Viber.AppImage or Beeper.AppImage).
Attempt to suspend or hibernate the system.
The system either:
Gets stuck during suspend/hibernate (systemd log: "Failed to freeze unit 'user.slice': Connection timed out")
Or completely freezes and becomes unresponsive (requires power off).
What I tried:
Added a systemd-sleep hook to send SIGTERM and then SIGKILL to all running AppImages before suspend.
Even after SIGKILL, the processes sometimes remain (in state "S" or become zombie "Z") and never disappear from the process list.
When these processes are present, systemd cannot freeze user.slice, and the entire suspend/hibernate process either fails or causes a total system lockup.
This has been tested on multiple machines and is reproducible with various AppImages, mostly Electron-based.
Expected behavior:
AppImages should properly terminate or at least reliably disappear from the process list when SIGTERM/SIGKILL is sent.
System should suspend or hibernate normally.
Actual behavior:
AppImage processes do not terminate and remain in the process list after SIGTERM/SIGKILL.
When they are present, system suspend/hibernate either fails or freezes the entire computer.
System Information:
openSUSE Tumbleweed (latest)
Kernel version: 6.15.0-1-default
Example AppImages: Viber.AppImage, Beeper.AppImage
Desktop Environment: KDE Plasma wayland
Relevant logs:
systemd-sleep[XXXXX]: Failed to freeze unit 'user.slice': Connection timed out
kernel: Freezing user space processes
kernel: Freezing user space processes completed
...
(ps output before/after kill)
PID 12345 S viber.AppImage
PID 12345 Z viber.AppImage
Workaround:
Only workaround is to manually ensure all AppImages are fully terminated before suspend/hibernate. Automatic killing via system-sleep hook does not always work.
Blocking suspend/hibernate if any AppImages are running (but this is not user-friendly).
Impact:
This bug can lead to complete system hangs and data loss, as the only recovery is a hard reset.
Please advise if there is a way to forcefully terminate AppImages or make them reliably respond to system signals during suspend. Any suggestions for debugging or workaround would be appreciated!