A couple of days ago I noticed that the gnome-software update spinner never stopped spinning.
Due to this, I ran the flatpak -vv update command in the terminal and saw that the update process got stuck on the message F: Calling system helper: GenerateOciSummary.
Running strace on the command shows this output:
output
openat(AT_FDCWD, “/var/lib/flatpak/sideload-repos”, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/run/flatpak/sideload-repos”, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
getuid() = 1000
futex(0x7f6c2f731ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f6c2f731ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, “F: Calling system helper: Genera”…, 45F: Calling system helper: GenerateOciSummary
) = 45
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 27
write(6, “\1\0\0\0\0\0\0\0”, 8) = 8
poll([{fd=27, events=POLLIN}], 1, -1
Has anyone seen something similar? I am running fedora workstation 40 with flatpak version 1.15.10. This error also occurred in my fedora rawhide VM with the same flatpak version and the same symptoms.
I noticed the Fedora flatpak remote takes a long time to refresh.
I didn’t get stuck per se, but the update takes a very long time after “Update complete” or “Nothing to do”[1]. And the verbose output showed F: Calling system helper: GenerateOciSummary taking a long time (for Fedora remote, Flathub doesn’t use this).
I removed the Fedora remote and the issue went away.
$ time sudo flatpak update -v
[sudo] password for fedora:
F: No installations directory in /etc/flatpak/installations.d. Skipping
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /root/.local/share/flatpak
Looking for updates…
Nothing to do.
F: fedora:x86_64 appstream age 2678493 is greater than ttl 86400
F: Updating appstream data for remote fedora
F: Loading https://registry.fedoraproject.org/index/static?label%3Aorg.flatpak.ref%3Aexists=1&architecture=amd64&os=linux&tag=latest using curl
F: Received 15240081 bytes
F: fedora-testing:x86_64 appstream age 18446744073709551615 is greater than ttl 86400
F: flathub:x86_64 appstream age 2678513 is greater than ttl 86400
F: Updating appstream data for remote flathub
F: Fetching summary index file for remote ‘flathub’
F: Loading https://dl.flathub.org/repo/summary.idx using curl
F: Received 10001 bytes
F: Loading https://dl.flathub.org/repo/summaries/acaf71e8fc7f97f44d0e9712e2c4cf6cdde7f04a93168d448650eab05a3fdf08.idx.sig using curl
F: Received 592 bytes
F: Fetching indexed summary delta c93510f9d738ce0f3ff579bcaa2b6151a28a298ffdfd677a9146ba9b0ad6048c-4ad2bf4bd82b814ed435e3a46af7dbaf42838dcc45e9d7925d53985fc3876110.delta for remote ‘flathub’
F: Loading https://dl.flathub.org/repo/summaries/c93510f9d738ce0f3ff579bcaa2b6151a28a298ffdfd677a9146ba9b0ad6048c-4ad2bf4bd82b814ed435e3a46af7dbaf42838dcc45e9d7925d53985fc3876110.delta using curl
F: Received 1317 bytes
F: flatpak_dir_pull: Using commit 755870692294f89d8cef185bf87d7359b37f739e974f49e4740ac8d571071629 for pull of ref appstream2/x86_64 from remote flathub
real 0m18.672s
user 0m0.085s
sys 0m0.104s
If you do sudo rm /var/lib/flatpak/oci/fedora.* and then sudo flatpak update
Yes, if I forward the clock by a month to force an update.
Same output as first.
How long does it take to do
$ time curl -o /dev/null 'https://registry.fedoraproject.org/index/static?label%3Aorg.flatpak.ref%3Aexists=1&architecture=amd64&os=linux&tag=latest'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14.5M 100 14.5M 0 0 1025k 0 0:00:14 0:00:14 --:--:-- 1394k
real 0m14.565s
user 0m0.169s
sys 0m0.139s
p.s. I see, so the Calling system helper: GenerateOciSummary is doing the download.
I first ran the rm command then I did a flatpak update and the curl at the same time. That way it took 18 minutes for me.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14.5M 100 14.5M 0 0 13998 0 0:18:08 0:18:08 --:--:-- 16549
real 18m8,757s
user 0m0,221s
sys 0m0,364s
Hi - Norbi - thanks for sharing your experience! So, if I understand you correctly the curl command took 18 minutes? (That works out to about 1kB per second.) If people are getting that sort of download speed on that file, certainly that would explain updating taking a long time.
Is this reproducible if you try again? If I can ask, where you are geographically? (country or continent would be fine.)
(Compressing the file on download is definitely possible and might improve things by a factor of 4 or so, but wouldn’t fix an 18 minute download.)
Yes, the curl command took 18 minutes at the time. I tried flatpak update before it multiple times for a few minutes which didn’t result in anything so the issue persisted for a while at least.
I get 2s download speeds now, so the problem seems temporary in some way. I’m in Hungary.
(Sidenote: some more info on the flatpak command line about this by default would be nice but that suggestion might not really belong here.)
if it’s not reproducing now, it’s hard to track down further. If anybody else is experiencing this (now, or in the future), please add your experiences to this thread so we can get some more clues about how to track it down.
How would you imagine that looking?
(Implementation might not be easy: when you run the Flatpak command line as a user, the actual download of the index is done by the system helper process as root.)
Hey, I’m experiencing same issue, I tried flatpak -vv update to understand what’s going on:
F: Requesting tokens for remote fedora: (runtime/org.fedoraproject.Platform.GL.default/x86_64/f42, 751a8c03108b299f1e3ffd4c2efc054f299f2acd3d62c438653a4de63ba51fce 1), (runtime/org.fedoraproject.Platform.VAAPI.nvidia/x86_64/f42, 4005f8bb26f7df7c2abcb74b561ff552099b94a7e1191a879424f931319567a1 1), (runtime/org.fedoraproject.KDE6Platform/x86_64/f42, ff5c047d5d3af789bf4e5b786eefbe1dc9cfba392586098ea8ca622a03a62750 1)
F: Response from request_tokens: 2 - {'error-message': <'While fetching https://registry.fedoraproject.org/v2/f42/mesa/manifests/sha256:751a8c03108b299f1e3ffd4c2efc054f299f2acd3d62c438653a4de63ba51fce: [28] Timeout was reached'>, 'error-code': <-1>}
error: Failed to get tokens for ref: While fetching https://registry.fedoraproject.org/v2/f42/mesa/manifests/sha256:751a8c03108b299f1e3ffd4c2efc054f299f2acd3d62c438653a4de63ba51fce: [28] Timeout was reached
Can’t update flatpak from fedora repo it seems. And Gnome Software does not give any proper error message, it just hangs and spins indefinitely, which is not good UX.
Oh, I see, thank you. Still, would be nice to have the error message through the UI, instead of an infinite hanging, but I think this would need to be Gnome job, as it is Gnome Software?