Nautilus stuck at 'loading', disabling spinner helps
Affected version
- Nightly flatpak: Yes
- Other: Nautilus 43.0, Fedora 37 in a VM
Steps to reproduce
- Take a rather slow machine, or limit CPU time for a virtual machine. In my case the issue was discovered initially with nested virtualization (KVM->Xen->Fedora 37 VM), but I can reproduce it without it too.
- Try to start Nautilus
Current behavior
Home directory content is stuck at "loading" forever. Directory panel on the left reacts, but content doesn't load for any of them.
Expected behavior
It loads eventually.
Additional information
This seems to be a regression compared to Fedora 36 (Nautilus 42.2). TBH, I'm not sure if it's the Nautilus version that makes a difference, it could be also GTK version.
Initially reported at https://github.com/QubesOS/qubes-issues/issues/7921, results of debugging so far:
I traced this back to a callback registered through vfs_file_call_when_ready, which later does gets marked as satisfied in call_ready_callbacks, but when the code attempts to schedule it to actually get called "at idle", something goes wrong and it doesn't get called. I'll debug this further.
The next comment has a patch (calling call_ready_callbacks_at_idle
directly, instead of through g_idle_add
).
In fact, disabling the spinning (via GTK_DEBUG=interactive) makes Nautilus immediately load the content: