Bug 1843486

Summary: Software crash after clicking Updates tab
Product: Red Hat Enterprise Linux 8 Reporter: Martin Krajnak <mkrajnak>
Component: gtk3Assignee: Kalev Lember <klember>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.3CC: klember
Target Milestone: rc   
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gtk3-3.22.30-6.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:35:45 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 Martin Krajnak 2020-06-03 12:10:19 UTC
Description of problem:


Version-Release number of selected component (if applicable):
gnome-software-3.36.1-2.el8.x86_64

How reproducible:
always

Steps to Reproduce:
1.Open Software
2.Click Updates 
3.

Actual results:


Expected results:


Additional info:

Comment 1 Kalev Lember 2020-06-03 12:18:22 UTC
I can reproduce this here. Here's a backtrace:

12:08:36:0451 Gtk gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
12:08:36:0451 Gtk gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
**
Gtk:ERROR:gtkwidget.c:12348:gtk_widget_real_map: assertion failed: (_gtk_widget_get_realized (widget))

Thread 1 "gnome-software" received signal SIGABRT, Aborted.
0x00007ffff45a770f in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: yum debuginfo-install GConf2-3.2.6-22.el8.x86_64 PackageKit-glib-1.1.12-4.el8.x86_64 PackageKit-gtk3-module-1.1.12-4.el8.x86_64 aspell-0.60.6.1-21.el8.x86_64 at-spi2-atk-2.26.2-1.el8.x86_64 at-spi2-core-2.28.0-1.el8.x86_64 atk-2.28.1-1.el8.x86_64 bzip2-libs-1.0.6-26.el8.x86_64 cairo-1.15.12-3.el8.x86_64 cairo-gobject-1.15.12-3.el8.x86_64 dbus-glib-0.110-2.el8.x86_64 dbus-libs-1.12.8-9.el8.x86_64 dconf-0.28.0-3.el8.x86_64 enchant2-2.2.3-2.el8.x86_64 expat-2.2.5-3.el8.x86_64 fontconfig-2.13.1-3.el8.x86_64 freetype-2.9.1-4.el8.x86_64 fribidi-1.0.4-8.el8.x86_64 fwupd-1.4.2-1.el8.x86_64 gdk-pixbuf2-2.36.12-5.el8.x86_64 glib2-2.56.4-8.el8.x86_64 gmp-6.1.2-10.el8.x86_64 gnutls-3.6.8-9.el8.x86_64 gpgme-1.10.0-6.el8.x86_64 gspell-1.8.1-1.el8.x86_64 harfbuzz-1.7.5-3.el8.x86_64 json-glib-1.4.4-1.el8.x86_64 keyutils-libs-1.5.10-7.el8.x86_64 krb5-libs-1.17-18.el8.x86_64 libX11-1.6.8-3.el8.x86_64 libXau-1.0.8-13.el8.x86_64 libXcursor-1.1.15-3.el8.x86_64 libXdamage-1.1.4-14.el8.x86_64 libXext-1.3.3-9.el8.x86_64 libXfixes-5.0.3-7.el8.x86_64 libXi-1.7.9-7.el8.x86_64 libXinerama-1.1.4-1.el8.x86_64 libXrandr-1.5.1-7.el8.x86_64 libXrender-0.9.10-7.el8.x86_64 libacl-2.2.53-1.el8.x86_64 libappstream-glib-0.7.14-3.el8.x86_64 libarchive-3.3.2-8.el8_1.x86_64 libassuan-2.5.1-3.el8.x86_64 libattr-2.4.48-3.el8.x86_64 libcanberra-0.30-16.el8.x86_64 libcap-2.26-3.el8.x86_64 libcom_err-1.45.4-3.el8.x86_64 libcroco-0.6.12-4.el8.x86_64 libdatrie-0.2.9-7.el8.x86_64 libepoxy-1.5.3-1.el8.x86_64 libffi-3.1-21.el8.x86_64 libgcc-8.3.1-5.el8.x86_64 libgpg-error-1.31-1.el8.x86_64 libgudev-232-4.el8.x86_64 libidn2-2.2.0-1.el8.x86_64 libmount-2.32.1-22.el8.x86_64 libpng-1.6.34-5.el8.x86_64 libselinux-2.9-3.el8.x86_64 libsoup-2.62.3-1.el8.x86_64 libstemmer-0-10.585svn.el8.x86_64 libtasn1-4.13-3.el8.x86_64 libthai-0.1.27-2.el8.x86_64 libuuid-2.32.1-22.el8.x86_64 libwayland-cursor-1.17.0-1.el8.x86_64 libwayland-egl-1.17.0-1.el8.x86_64 libxcb-1.13.1-1.el8.x86_64 libxkbcommon-0.9.1-1.el8.x86_64 libxml2-2.9.7-7.el8.x86_64 lz4-libs-1.8.1.2-4.el8.x86_64 nettle-3.4.1-1.el8.x86_64 openssl-libs-1.1.1c-15.el8.x86_64 p11-kit-0.23.14-5.el8_0.x86_64 pango-1.42.4-6.el8.x86_64 pcre-8.42-4.el8.x86_64 pixman-0.38.4-1.el8.x86_64 polkit-libs-0.115-11.el8.x86_64 sssd-client-2.2.3-20.el8.x86_64 systemd-libs-239-29.el8.x86_64 xz-libs-5.2.4-3.el8.x86_64 zlib-1.2.11-13.el8.x86_64
(gdb) bt
#0  0x00007ffff45a770f in raise () at /lib64/libc.so.6
#1  0x00007ffff4591b25 in abort () at /lib64/libc.so.6
#2  0x00007ffff73e9003 in g_assertion_message_expr.cold () at /lib64/libglib-2.0.so.0
#3  0x00007ffff7441f8e in g_assertion_message_expr () at /lib64/libglib-2.0.so.0
#4  0x00007ffff68936fc in gtk_widget_real_map (widget=<optimized out>) at gtkwidget.c:12348
#5  0x00007ffff68936fc in gtk_widget_real_map (widget=<optimized out>) at gtkwidget.c:12344
#6  0x00007ffff67264d6 in gtk_label_map (widget=<optimized out>) at gtklabel.c:4594
#7  0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#8  0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#9  0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#10 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555f06d30) at gtkwidget.c:4999
#11 0x00007ffff662b1a0 in gtk_box_forall
    (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff6670350 <gtk_container_map_child>, callback_data=0x0) at gtkbox.c:2671
#12 0x00007ffff6674d53 in gtk_container_map (widget=0x555555f15400) at gtkcontainer.c:3684
#13 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#14 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#15 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#16 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555f15400) at gtkwidget.c:4999
#17 0x00007ffff6733e8a in gtk_list_box_forall
    (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff6670350 <gtk_container_map_child>, callback_target=0x0) at gtklistbox.c:2577
#18 0x00007ffff6674d53 in gtk_container_map (widget=0x555555ba4750) at gtkcontainer.c:3684
#19 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#20 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#21 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#22 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555ba4750) at gtkwidget.c:4999
#23 0x00007ffff662b1a0 in gtk_box_forall
    (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff6670350 <gtk_container_map_child>, callback_data=0x0) at gtkbox.c:2671
#24 0x00007ffff6674d53 in gtk_container_map (widget=0x555555d40c40) at gtkcontainer.c:3684
#25 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#26 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#27 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#28 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555d40c40) at gtkwidget.c:4999
#29 0x00007ffff662b1a0 in gtk_box_forall
    (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff6670350 <gtk_container_map_child>, callback_data=0x0) at gtkbox.c:2671
#30 0x00007ffff6674d53 in gtk_container_map (widget=0x555555d40820) at gtkcontainer.c:3684
#31 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#32 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#33 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#34 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555d40820) at gtkwidget.c:4999
#35 0x00007ffff6674d53 in gtk_container_map (widget=0x555555d406b0) at gtkcontainer.c:3684
#36 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#37 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#38 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#39 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555d406b0) at gtkwidget.c:4999
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x00007ffff6674d53 in gtk_container_map (widget=0x555555d5a830) at gtkcontainer.c:3684
#41 0x00007ffff76f6514 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#42 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#43 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#44 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555d5a830) at gtkwidget.c:4999
#45 0x00007ffff67cbc06 in gtk_scrolled_window_forall (container=0x555555ce9070, include_internals=1, callback=0x7ffff6670350 <gtk_container_map_child>, callback_data=0x0)
    at gtkscrolledwindow.c:3024
#46 0x00007ffff6674d53 in gtk_container_map (widget=0x555555ce9070) at gtkcontainer.c:3684
#47 0x00007ffff67cc6f5 in gtk_scrolled_window_map (widget=0x555555ce9070) at gtkscrolledwindow.c:4144
#48 0x00007ffff76f6616 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#49 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#50 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#51 0x00007ffff689ef0a in gtk_widget_map (widget=0x555555ce9070) at gtkwidget.c:4999
#52 0x00007ffff689f0cf in gtk_widget_set_child_visible (widget=0x555555ce9070, is_visible=1) at gtkwidget.c:10759
#53 0x00007ffff67ed5bd in set_visible_child (stack=0x555555d22800, child_info=0x555555d5d240, transition_type=GTK_STACK_TRANSITION_TYPE_NONE, transition_duration=200)
    at gtkstack.c:1130
#54 0x00005555555be671 in gs_updates_page_update_ui_state (self=0x555555a16a10) at ../src/gs-updates-page.c:413
#55 0x00005555555b4241 in gs_shell_change_mode (shell=0x5555558e43b0, mode=<optimized out>, data=0x0, scroll_up=1) at ../src/gs-shell.c:536
#56 0x00007ffff76f63bd in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#57 0x00007ffff7709945 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#58 0x00007ffff7712a06 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#59 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#60 0x00007ffff6638dcd in gtk_button_do_release (emit_clicked=<optimized out>, button=0x555555cbc600) at gtkbutton.c:1843
#61 0x00007ffff6638dcd in gtk_button_do_release (button=0x555555cbc600, emit_clicked=<optimized out>) at gtkbutton.c:1830
#62 0x00007ffff6638e39 in gtk_real_button_released (button=0x555555cbc600) at gtkbutton.c:1961
#63 0x00007ffff76f63bd in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#64 0x00007ffff7709a94 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#65 0x00007ffff7712a06 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#66 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#67 0x00007ffff66371b4 in multipress_released_cb (gesture=0x7fffd400f770, n_press=<optimized out>, x=<optimized out>, y=<optimized out>, widget=0x555555cbc600)
    at gtkbutton.c:666
#68 0x00007ffff31df04e in ffi_call_unix64 () at /lib64/libffi.so.6
#69 0x00007ffff31dea0f in ffi_call () at /lib64/libffi.so.6
#70 0x00007ffff76f7386 in g_cclosure_marshal_generic_va () at /lib64/libgobject-2.0.so.0
#71 0x00007ffff76f6616 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#72 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#73 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#74 0x00007ffff66f75fa in gtk_gesture_multi_press_end (gesture=0x7fffd400f770, sequence=<optimized out>) at gtkgesturemultipress.c:283
#75 0x00007ffff76f978e in g_cclosure_marshal_VOID__BOXEDv () at /lib64/libgobject-2.0.so.0
#76 0x00007ffff76f6616 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#77 0x00007ffff7712a4c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#78 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#79 0x00007ffff66f4762 in _gtk_gesture_set_recognized (sequence=0x0, recognized=0, gesture=0x7fffd400f770) at gtkgesture.c:345
#80 0x00007ffff66f4762 in _gtk_gesture_check_recognized (gesture=gesture@entry=0x7fffd400f770, sequence=sequence@entry=0x0) at gtkgesture.c:386
--Type <RET> for more, q to quit, c to continue without paging--
#81 0x00007ffff66f5dbb in gtk_gesture_handle_event (event=0x7fffc4066ef0, controller=0x7fffd400f770) at gtkgesture.c:814
#82 0x00007ffff66f5dbb in gtk_gesture_handle_event (controller=0x7fffd400f770, event=0x7fffc4066ef0) at gtkgesture.c:712
#83 0x00007ffff66f8bee in gtk_gesture_single_handle_event (controller=0x7fffd400f770, event=0x7fffc4066ef0) at gtkgesturesingle.c:222
#84 0x00007ffff66c5320 in gtk_event_controller_handle_event (controller=0x7fffd400f770, event=event@entry=0x7fffc4066ef0) at gtkeventcontroller.c:230
#85 0x00007ffff688db2b in _gtk_widget_run_controllers (widget=0x555555cbc600, event=0x7fffc4066ef0, phase=GTK_PHASE_BUBBLE) at gtkwidget.c:7379
#86 0x00007ffff6741dd8 in _gtk_marshal_BOOLEAN__BOXEDv
    (closure=0x555555929f90, return_value=0x7fffffffd990, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555929fc0) at gtkmarshalers.c:129
#87 0x00007ffff76f6616 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#88 0x00007ffff7712485 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#89 0x00007ffff7713043 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#90 0x00007ffff688f184 in gtk_widget_event_internal (widget=widget@entry=0x555555cbc600, event=event@entry=0x7fffc4066ef0) at gtkwidget.c:7744
#91 0x00007ffff6891f5e in gtk_widget_event (widget=widget@entry=0x555555cbc600, event=event@entry=0x7fffc4066ef0) at gtkwidget.c:7314
#92 0x00007ffff673ebf6 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x555555cbc600) at gtkmain.c:2582
#93 0x00007ffff673ebf6 in propagate_event (widget=<optimized out>, event=0x7fffc4066ef0, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#94 0x00007ffff6740dbb in gtk_main_do_event (event=0x7fffc4066ef0) at gtkmain.c:1915
#95 0x00007ffff6740dbb in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#96 0x00007ffff6240649 in _gdk_event_emit (event=event@entry=0x7fffc4066ef0) at gdkevents.c:73
#97 0x00007ffff6271fd6 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gdkeventsource.c:367
#98 0x00007ffff741a67d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#99 0x00007ffff741aa48 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#100 0x00007ffff741aae0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#101 0x00007ffff70ce0ed in g_application_run () at /lib64/libgio-2.0.so.0
#102 0x0000555555580628 in main (argc=1, argv=0x7fffffffdee8) at ../src/gs-main.c:48

Comment 3 Kalev Lember 2020-06-03 12:54:50 UTC
This looks like a gtk crash that's fixed upstream in https://gitlab.gnome.org/GNOME/gtk/merge_requests/1114 . Let's get the fix backported.

Comment 4 Kalev Lember 2020-06-03 13:04:34 UTC
I went ahead and backported this to gtk3-3.22.30-6.el8

Comment 5 Martin Krajnak 2020-06-05 12:24:05 UTC
No crash when I updated to gtk3-3.22.30-6.el8.x86_64

Comment 9 errata-xmlrpc 2020-11-04 01:35:45 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: GNOME security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:4451