Bug 1940210

Summary: Software fails to run in GNOME 40 RC1 update
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: gnome-softwareAssignee: Richard Hughes <rhughes>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 34CC: gnome-sig, mcrha, rhughes
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-19 17:16:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Adam Williamson 2021-03-17 20:00:18 UTC
openQA testing of the GNOME 40 rc1 megaupdate:

https://bodhi.fedoraproject.org/updates/FEDORA-2021-303f6623fa

shows that GNOME Software just doesn't launch. The test opens the overview, types 'update' - which causes the "Software" launcher to be the only visible launcher, and selected, as expected - and hits 'enter'. The icon, the text "Software", and a spinner appear in the top bar for a few seconds, then disappear. The app UI never appears.

The user journal has this somewhere around the time of the failure:

Mar 17 09:10:57 fedora gnome-shell[1426]: Received error from D-Bus search provider org.gnome.Software.desktop during GetResultMetas: Gio.IOErrorEnum: Timeout was reached
Mar 17 09:10:57 fedora gnome-shell[1426]: Wrong number of result metas returned by search provider org.gnome.Software.desktop: expected 3 but got 0
Mar 17 09:10:57 fedora gnome-shell[1426]: Object St.BoxLayout (0x55d5b4a832a0), has been already deallocated — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Mar 17 09:10:57 fedora gnome-shell[1426]: == Stack trace for context 0x55d5b332e180 ==
Mar 17 09:10:57 fedora gnome-shell[1426]: #0   55d5b32f0998 i   resource:///org/gnome/shell/ui/search.js:331 (3d2a230ed600 @ 22)
Mar 17 09:10:57 fedora gnome-shell[1426]: #1   55d5b32f0908 i   resource:///org/gnome/shell/ui/search.js:275 (3d2a230ed7e0 @ 26)
Mar 17 09:10:57 fedora gnome-shell[1426]: #2   55d5b32f0858 i   resource:///org/gnome/shell/ui/search.js:240 (3d2a230ed920 @ 242)
Mar 17 09:10:57 fedora gnome-shell[1426]: #3   55d5b32f0790 i   resource:///org/gnome/shell/ui/remoteSearch.js:278 (3d2a230f0240 @ 149)
Mar 17 09:10:57 fedora gnome-shell[1426]: #4   55d5b32f06f0 i   resource:///org/gnome/shell/ui/remoteSearch.js:304 (3d2a230f0150 @ 23)
Mar 17 09:10:57 fedora gnome-shell[1426]: #5   55d5b32f0638 i   resource:///org/gnome/gjs/modules/core/overrides/Gio.js:117 (240158ca4c90 @ 347)
Mar 17 09:10:57 fedora gnome-shell[1426]: clutter_actor_remove_all_children: assertion 'CLUTTER_IS_ACTOR (self)' failed

Though they may actually be appearing during the time we're launching the app from the overview, not after the launch process begins. It's a bit hard to tell for sure (openQA timestamps the video, but it's not always 100% in sync with the log time).

Comment 1 Milan Crha 2021-03-18 08:11:30 UTC
Is there any image I can try this with, please? I've an up to date rawhide machine and it doesn't expose any of the errors you pasted above. I also tried your steps:
a) restart
b) login
c) type: "updates"
d) press enter

and it shows up the window it only takes it like 5-10 seconds to show up. I renamed /usr/bin/gnome-software to /usr/bin/gnome-software.orig and then created /usr/bin/gnome-software with this content:

---
#!/bin/bash

/usr/bin/gnome-software.orig "$@" 2>&1 | tee /var/tmp/gs-`date +%Y%m%d-%H%M%S`.log
---

and when I repeat the steps and then check the corresponding log it contains, apart of other things:

08:02:36:0188 Gs  plugin fwupd took 25.0 seconds to do setup
08:02:36:0500 Gs  not handling error failed for action get-updates-historical: cannot update repo 'rawhide': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64 [Could not resolve host: mirrors.fedoraproject.org]; Last error: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64 [Could not resolve host: mirrors.fedoraproject.org]
08:02:39:0895 GsPluginFedoraPkgdbCollections did not find cpe:/o:fedoraproject:fedora:35

I guess it's similar in your case, one of the plugins is causing the delay, which causes follow up failures.

Comment 2 Milan Crha 2021-03-18 08:58:22 UTC
I tried with Kalev's image for the test day [1]. I installed it to a virtual machine and made the file changes outlined above. After I set the user name & password and deny the tour in GNOME 40 the steps above (shortened to type: "upda") bring up the GNOME Software window almost instantly.

[1] http://kalev.fedorapeople.org/Fedora-Workstation-Live-x86_64-34-20210316.n.103.iso

Comment 3 Milan Crha 2021-03-18 16:28:12 UTC
Possibly related upstream bug report:
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1180
leading to fwupd D-Bus timeout.

Comment 4 Adam Williamson 2021-03-18 19:46:07 UTC
Doesn't reproduce on my 'working' system either, I just updated it and rebooted and Software launches fine there.

We can try backporting the fix for https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1179 into the update, I guess.

Comment 5 Adam Williamson 2021-03-19 17:16:52 UTC
I did that and edited the build into the update, and it passed the openQA run. I do see that the test passed one time *without* the fix, so the failure to launch is apparently not a 100% reproducer, but let's assume it's fixed and close this for now. If the problem shows up again I'll reopen it.