Crash when opening updates panel with master on Fedora 31
What Happened
- Install Fedora 31 in a VM
- Cloned and built gnome-software from master
- Opened gnome-software
- Noted that updates had a number showing updates are available
- Clicked on updates panel
- App crashed
What I expected to happen
At step 6 for the update panel to be shown.
Details
The crash itself appears to happen here https://gitlab.gnome.org/GNOME/gnome-software/blob/master/src/gs-updates-page.c#L413
Backtrace is below and git was pointing to a75b25d7 when it occurred.
(gdb) run
Starting program: /home/andrew/Projects/gnome-software/install/bin/gnome-software
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.30-5.fc31.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe8295700 (LWP 5691)]
[New Thread 0x7fffe7a57700 (LWP 5692)]
[New Thread 0x7fffe7256700 (LWP 5693)]
[New Thread 0x7fffe6a13700 (LWP 5694)]
01:20:34:0758 Gs enabled plugins: desktop-categories, fwupd, os-release, packagekit, packagekit-local, packagekit-offline, packagekit-proxy, packagekit-refresh, packagekit-upgrade, packagekit-url-to-app, shell-extensions, appstream, fedora-pkgdb-collections, snap, desktop-menu-path, epiphany, fedora-langpacks, flatpak, hardcoded-blacklist, hardcoded-popular, modalias, packagekit-refine, rewrite-resource, odrs, packagekit-history, provenance, repos, systemd-updates, generic-updates, packagekit-refine-repos, provenance-license, icons, key-colors, key-colors-metadata
01:20:34:0758 Gs disabled plugins: dpkg, dummy
[New Thread 0x7fffd7fff700 (LWP 5724)]
[New Thread 0x7fffd7454700 (LWP 5728)]
[New Thread 0x7fffd6c53700 (LWP 5729)]
[New Thread 0x7fffd6452700 (LWP 5730)]
[New Thread 0x7fffd5c51700 (LWP 5731)]
01:20:35:0235 Gs Only 0 apps for recent list, hiding
01:20:35:0240 Gs not handling error no-security for action refresh: Failed to obtain authentication.
01:20:35:0671 Gs State change on system/package/anaconda/desktop/org.gnome.Boxes.desktop/* from updatable to installed is not OK
[Thread 0x7fffd6c53700 (LWP 5729) exited]
[Thread 0x7fffe7256700 (LWP 5693) exited]
[Thread 0x7fffd6452700 (LWP 5730) exited]
[Thread 0x7fffd7454700 (LWP 5728) exited]
[Thread 0x7fffd7fff700 (LWP 5724) exited]
[Thread 0x7fffd5c51700 (LWP 5731) exited]
[New Thread 0x7fffd5c51700 (LWP 5746)]
[New Thread 0x7fffd7fff700 (LWP 5747)]
[Thread 0x7fffd7fff700 (LWP 5747) exited]
01:21:45:0408 Gtk gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
01:21:45:0409 Gtk gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
**
Gtk:ERROR:gtkwidget.c:12393:gtk_widget_real_map: assertion failed: (_gtk_widget_get_realized (widget))
Bail out! Gtk:ERROR:gtkwidget.c:12393:gtk_widget_real_map: assertion failed: (_gtk_widget_get_realized (widget))
Thread 1 "gnome-software" received signal SIGABRT, Aborted.
0x00007ffff6dce625 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install GConf2-3.2.6-27.fc31.x86_64 PackageKit-glib-1.1.12-11.fc31.x86_64 at-spi2-atk-2.34.1-1.fc31.x86_64 at-spi2-core-2.34.0-1.fc31.x86_64 atk-2.34.1-1.fc31.x86_64 audit-libs-3.0-0.12.20190507gitf58ec40.fc31.x86_64 brotli-1.0.7-6.fc31.x86_64 bzip2-libs-1.0.8-1.fc31.x86_64 cairo-1.16.0-6.fc31.x86_64 cairo-gobject-1.16.0-6.fc31.x86_64 cyrus-sasl-lib-2.1.27-2.fc31.x86_64 dbus-glib-0.110-6.fc31.x86_64 dbus-libs-1.12.16-3.fc31.x86_64 enchant2-2.2.7-1.fc31.x86_64 flatpak-libs-1.4.3-3.fc31.x86_64 fontconfig-2.13.92-3.fc31.x86_64 freetype-2.10.0-3.fc31.x86_64 fribidi-1.0.5-4.fc31.x86_64 gdk-pixbuf2-2.40.0-1.fc31.x86_64 glib2-2.62.2-1.fc31.x86_64 gpgme-1.13.1-3.fc31.x86_64 graphite2-1.3.13-1.fc31.x86_64 gspell-1.8.2-1.fc31.x86_64 gtk3-3.24.12-3.fc31.x86_64 gvfs-client-1.42.1-1.fc31.x86_64 harfbuzz-2.6.1-2.fc31.x86_64 json-glib-1.4.4-3.fc31.x86_64 keyutils-libs-1.6-3.fc31.x86_64 krb5-libs-1.17-45.fc31.x86_64 libX11-1.6.8-3.fc31.x86_64 libXau-1.0.9-2.fc31.x86_64 libXcursor-1.1.15-6.fc31.x86_64 libXdamage-1.1.4-17.fc31.x86_64 libXext-1.3.4-2.fc31.x86_64 libXfixes-5.0.3-10.fc31.x86_64 libXi-1.7.10-2.fc31.x86_64 libXinerama-1.1.4-4.fc31.x86_64 libXrandr-1.5.2-2.fc31.x86_64 libXrender-0.9.10-10.fc31.x86_64 libacl-2.2.53-4.fc31.x86_64 libappstream-glib-0.7.16-2.fc31.x86_64 libarchive-3.4.0-1.fc31.x86_64 libassuan-2.5.3-2.fc31.x86_64 libblkid-2.34-3.fc31.x86_64 libcap-2.26-6.fc31.x86_64 libdatrie-0.2.9-10.fc31.x86_64 libffi-3.1-23.fc31.x86_64 libgcc-9.2.1-1.fc31.x86_64 libgcrypt-1.8.5-1.fc31.x86_64 libgudev-232-6.fc31.x86_64 libidn2-2.2.0-2.fc31.x86_64 libmount-2.34-3.fc31.x86_64 libnghttp2-1.39.2-1.fc31.x86_64 libpng-1.6.37-2.fc31.x86_64 libpsl-0.21.0-2.fc31.x86_64 librsvg2-2.46.1-1.fc31.x86_64 libseccomp-2.4.1-1.fc31.x86_64 libselinux-2.9-5.fc31.x86_64 libsoup-2.68.2-1.fc31.x86_64 libstemmer-0-13.585svn.fc31.x86_64 libthai-0.1.28-3.fc31.x86_64 libunistring-0.9.10-6.fc31.x86_64 libuuid-2.34-3.fc31.x86_64 libwayland-client-1.17.0-2.fc31.x86_64 libwayland-cursor-1.17.0-2.fc31.x86_64 libwayland-egl-1.17.0-2.fc31.x86_64 libxcb-1.13.1-3.fc31.x86_64 libxkbcommon-0.8.4-2.fc31.x86_64 libzstd-1.4.2-1.fc31.x86_64 lua-libs-5.3.5-6.fc31.x86_64 lz4-libs-1.9.1-1.fc31.x86_64 ostree-libs-2019.4-3.fc31.x86_64 pango-1.44.6-1.fc31.x86_64 pcre-8.43-2.fc31.1.x86_64 polkit-libs-0.116-4.fc31.1.x86_64 rpm-libs-4.15.0-6.fc31.x86_64 sssd-client-2.2.2-1.fc31.x86_64 zlib-1.2.11-19.fc31.x86_64
(gdb) bt
#0 0x00007ffff6dce625 in raise () at /lib64/libc.so.6
#1 0x00007ffff6db78d9 in abort () at /lib64/libc.so.6
#2 0x00007ffff7da8b53 in g_assertion_message_expr.cold () at /lib64/libglib-2.0.so.0
#3 0x00007ffff7e0516f in g_assertion_message_expr () at /lib64/libglib-2.0.so.0
#4 0x00007ffff782991c in gtk_widget_real_map () at /lib64/libgtk-3.so.0
#5 0x00007ffff76c8b26 in gtk_label_map () at /lib64/libgtk-3.so.0
#6 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#7 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#8 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#9 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#10 0x00007ffff75c4950 in gtk_box_forall () at /lib64/libgtk-3.so.0
#11 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#12 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#13 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#14 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#15 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#16 0x00007ffff76d6479 in gtk_list_box_forall () at /lib64/libgtk-3.so.0
#17 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#18 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#19 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#20 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#21 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#22 0x00007ffff75c4950 in gtk_box_forall () at /lib64/libgtk-3.so.0
#23 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#24 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#25 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#26 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#27 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#28 0x00007ffff75c4950 in gtk_box_forall () at /lib64/libgtk-3.so.0
#29 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#30 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#31 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#32 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#33 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#34 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#35 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#36 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#37 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#38 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#39 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#40 0x00007ffff7ec68a5 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#41 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#42 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#43 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#44 0x00007ffff77640f6 in gtk_scrolled_window_forall () at /lib64/libgtk-3.so.0
#45 0x00007ffff760fd83 in gtk_container_map () at /lib64/libgtk-3.so.0
#46 0x00007ffff7764c55 in gtk_scrolled_window_map () at /lib64/libgtk-3.so.0
#47 0x00007ffff7ec6996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#48 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#49 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#50 0x00007ffff78352da in gtk_widget_map () at /lib64/libgtk-3.so.0
#51 0x00007ffff7835493 in gtk_widget_set_child_visible () at /lib64/libgtk-3.so.0
#52 0x00007ffff7786105 in set_visible_child () at /lib64/libgtk-3.so.0
#53 0x000000000046ea62 in gs_updates_page_update_ui_state (self=0x6e4ac0) at ../src/gs-updates-page.c:413
#54 0x000000000046f97c in gs_updates_page_switch_to (page=0x6e4ac0, scroll_up=1) at ../src/gs-updates-page.c:740
#55 0x00000000004534d6 in gs_page_switch_to (page=0x6e4ac0, scroll_up=1) at ../src/gs-page.c:546
#56 0x000000000045f24f in gs_shell_change_mode (shell=0x5ee3c0, mode=GS_SHELL_MODE_UPDATES, data=0x0, scroll_up=1) at ../src/gs-shell.c:340
#57 0x000000000045f392 in gs_overview_page_button_cb (widget=0x8e6620, shell=0x5ee3c0) at ../src/gs-shell.c:373
#58 0x00007ffff7ec6742 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#59 0x00007ffff7eda604 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#60 0x00007ffff7ee33ae in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#61 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#62 0x00007ffff75d256e in gtk_button_do_release () at /lib64/libgtk-3.so.0
#63 0x00007ffff75d25d8 in gtk_real_button_released () at /lib64/libgtk-3.so.0
#64 0x00007ffff7ec6996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#65 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#66 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#67 0x00007ffff75d0a04 in multipress_released_cb () at /lib64/libgtk-3.so.0
#68 0x00007ffff7881211 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv () at /lib64/libgtk-3.so.0
#69 0x00007ffff7ec6996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#70 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#71 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#72 0x00007ffff76992ec in gtk_gesture_multi_press_end () at /lib64/libgtk-3.so.0
#73 0x00007ffff7ec9b96 in g_cclosure_marshal_VOID__BOXEDv () at /lib64/libgobject-2.0.so.0
#74 0x00007ffff7ec6996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#75 0x00007ffff7ee3228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#76 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#77 0x00007ffff7696352 in _gtk_gesture_check_recognized () at /lib64/libgtk-3.so.0
#78 0x00007ffff7697983 in gtk_gesture_handle_event () at /lib64/libgtk-3.so.0
#79 0x00007ffff769a956 in gtk_gesture_single_handle_event () at /lib64/libgtk-3.so.0
#80 0x00007ffff7661f20 in gtk_event_controller_handle_event () at /lib64/libgtk-3.so.0
#81 0x00007ffff7823d5d in _gtk_widget_run_controllers () at /lib64/libgtk-3.so.0
#82 0x00007ffff787ad1f in _gtk_marshal_BOOLEAN__BOXEDv () at /lib64/libgtk-3.so.0
#83 0x00007ffff7ec6996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#84 0x00007ffff7ee2e6a in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#85 0x00007ffff7ee39d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#86 0x00007ffff7825793 in gtk_widget_event_internal () at /lib64/libgtk-3.so.0
#87 0x00007ffff76e11d8 in propagate_event () at /lib64/libgtk-3.so.0
#88 0x00007ffff76e33eb in gtk_main_do_event () at /lib64/libgtk-3.so.0
#89 0x00007ffff73cbf79 in _gdk_event_emit () at /lib64/libgdk-3.so.0
#90 0x00007ffff742a666 in gdk_event_source_dispatch () at /lib64/libgdk-3.so.0
#91 0x00007ffff7ddc4a0 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#92 0x00007ffff7ddc830 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#93 0x00007ffff7ddc8d3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#94 0x00007ffff7c8fc75 in g_application_run () at /lib64/libgio-2.0.so.0
#95 0x000000000044c5d7 in main (argc=1, argv=0x7fffffffd768) at ../src/gs-main.c:48
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff52caf80 (LWP 5687) "gnome-software" 0x00007ffff6dce625 in raise () from /lib64/libc.so.6
2 Thread 0x7fffe8295700 (LWP 5691) "gmain" 0x00007ffff6e88a1f in poll () from /lib64/libc.so.6
3 Thread 0x7fffe7a57700 (LWP 5692) "gdbus" 0x00007ffff6e88a1f in poll () from /lib64/libc.so.6
5 Thread 0x7fffe6a13700 (LWP 5694) "dconf worker" 0x00007ffff6e88a1f in poll () from /lib64/libc.so.6
11 Thread 0x7fffd5c51700 (LWP 5746) "pool-org.gnome." 0x00007ffff6e8e15d in syscall () from /lib64/libc.so.6