nextcloud / nextcloud/desktop

[Bug]: Nextcloud Desktop client on Linux blocks hibernation

Open
#10,399 0 comments 0 reactions 0 assignees View on GitHub
0. Needs triage bug os: :penguin: Linux
Dominant language
C++
Stars
3.9k
Forks
1k
Avg merge
1d 17h
Merged PRs (30d)
123

Description

### ⚠️ Before submitting, please verify the following: ⚠️

- [x] This is a **bug**, not a question or a configuration issue.
- [x] This issue is **not** already reported on Github (I have searched for it).
- [x] Nextcloud Server and Desktop Client are **up to date**. See [Server Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) and [Desktop Releases](https://nextcloud.com/install/#install-clients) for supported versions.
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/)

### Bug description

When hibernating on linux the app waits for IO and freezes shutdown.

```
lip 19 11:02:14 Komputer kernel: PM: hibernation: hibernation entry
lip 19 11:02:15 Komputer kernel: Filesystems sync: 0.256 seconds
lip 19 11:02:35 Komputer kernel: Freezing user space processes
lip 19 11:02:35 Komputer kernel: Freezing user space processes failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0):
lip 19 11:02:35 Komputer kernel: fbcon: Taking over console
lip 19 11:02:35 Komputer kernel: task:AppRun state:D stack:0 pid:3014 tgid:3014 ppid:1556 task_flags:0x400000 flags:0x00080002
lip 19 11:02:35 Komputer kernel: Call Trace:
lip 19 11:02:35 Komputer kernel:
lip 19 11:02:35 Komputer kernel: __schedule+0x2d0/0x660
lip 19 11:02:35 Komputer kernel: schedule+0x27/0x90
lip 19 11:02:35 Komputer kernel: io_schedule+0x4c/0x80
lip 19 11:02:35 Komputer kernel: folio_wait_bit_common+0x13d/0x360
lip 19 11:02:35 Komputer kernel: ? __pfx_wake_page_function+0x10/0x10
lip 19 11:02:35 Komputer kernel: filemap_fault+0x51f/0xcb0
lip 19 11:02:35 Komputer kernel: ? filemap_map_pages+0x32e/0x4a0
lip 19 11:02:35 Komputer kernel: __do_fault+0x3d/0x190
lip 19 11:02:35 Komputer kernel: do_read_fault+0x12e/0x220
lip 19 11:02:35 Komputer kernel: do_fault+0x16e/0x2a0
lip 19 11:02:35 Komputer kernel: handle_pte_fault+0x15e/0x200
lip 19 11:02:35 Komputer kernel: __handle_mm_fault+0x56a/0x760
lip 19 11:02:35 Komputer kernel: handle_mm_fault+0x13d/0x3a0
lip 19 11:02:35 Komputer kernel: do_user_addr_fault+0x1d2/0x8c0
lip 19 11:02:35 Komputer kernel: exc_page_fault+0x81/0x1c0
lip 19 11:02:35 Komputer kernel: asm_exc_page_fault+0x27/0x30
lip 19 11:02:35 Komputer kernel: RIP: 0033:0x738e6fdf9103
lip 19 11:02:35 Komputer kernel: RSP: 002b:00007ffed3f100c0 EFLAGS: 00010206
lip 19 11:02:35 Komputer kernel: RAX: 0000000000000000 RBX: 0000738e5e64ba50 RCX: 0000738e6fb36910
lip 19 11:02:35 Komputer kernel: RDX: 00007ffed3f10248 RSI: 0000738e6fb36570 RDI: 0000738e5f0545bd
lip 19 11:02:35 Komputer kernel: RBP: 00007ffed3f10180 R08: 0000738e5e64ba50 R09: 0000000000000000
lip 19 11:02:35 Komputer kernel: R10: 0000738e5e64ba50 R11: 0000738e6fb36570 R12: 00007ffed3f10248
lip 19 11:02:35 Komputer kernel: R13: 0000738e5f0545bd R14: 00001b0200000001 R15: 0000000000000001
lip 19 11:02:35 Komputer kernel:
lip 19 11:02:35 Komputer kernel: OOM killer enabled.
lip 19 11:02:35 Komputer kernel: Restarting tasks: Starting
lip 19 11:02:35 Komputer kernel: Restarting tasks: Done
lip 19 11:02:35 Komputer kernel: efivarfs: resyncing variable state
lip 19 11:02:35 Komputer kernel: Console: switching to colour frame buffer device 240x67
lip 19 11:02:35 Komputer kernel: efivarfs: finished resyncing variable state
lip 19 11:02:36 Komputer kernel: PM: hibernation: hibernation exit
```

The PID is nextcloud desktop AppImage
```sh
kajetan@Komputer:~$ ps -fp 3014
UID PID PPID C STIME TTY TIME CMD
kajetan 3014 1556 0 11:02 ? 00:00:00 /home/kajetan/AppImages/nextcloud_klient_synchronizacji_dla_komputerów_stacjonarnych.appimage --background
```

### Steps to reproduce

1. Try to hibernate system
2. Wait for ~20 seconds
3. The systems "wakes up" (Kernel aborts hibernation)

### Expected behavior

When shutting-down, rebooting and hibernating the app should
...

### Which files are affected by this bug

No files are affected.

### Operating system

Linux

### Which version of the operating system you are running.

Linux Mint 22.3 x86_64 | Kernel: 7.0.0-28-generic

### Installation method

Official Linux AppImage

### Nextcloud Server version

34.0.1

### Nextcloud Desktop Client version

33.0.7

### Did this occur after an update or on a clean installation?

Clean desktop client installation

### Are you using the Nextcloud Server Encryption module?

Yes

### Are you using an external user-backend?

- [ ] Default internal user-backend
- [ ] LDAP or Active Directory
- [ ] SSO - SAML
- [ ] Other

### Nextcloud Server logs

```shell
Not relevant as this is strictly client issue.
```

### Additional info

I currently use a workaround with systemd hooks (wait for suspend action) and use the appimage with argument `--quit`

Contributor guide

Open the contributing guide

Research direction

No affected source files or tests are named. Start by reproducing hibernation with the Linux AppImage running in the background, then inspect the shutdown behavior around the reported AppImage process and compare it with the systemd-hook workaround and `--quit` argument. Done means hibernation completes without the client blocking process freezing.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.