GNOME Bugzilla – Bug 785099
Wi-Fi segfault when trying to connect to hidden network
Last modified: 2021-06-09 16:32:48 UTC
When trying to connect to some hiddne network, segfault may happen. How to reproduce: 1. open wi-fi panel in g-c-c 2. Menu -> Known Wi-fi Networks 3. Click settings of some wi-fi network listed there. 4. Press escape twice to close all the dialogs 5. Menu -> Connect to Hidden network.., Result: g-c-c segfaults with following warning: [New Thread 0x7fffbb62a700 (LWP 13951)] (gnome-control-center:12832): GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed (gnome-control-center:12832): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (gnome-control-center:12832): Gtk-WARNING **: /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkliststore.c:434: Invalid type (null) (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_append: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_append: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_append: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_append: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'GTK_IS_LIST_STORE (list_store)' failed (gnome-control-center:12832): GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed (gnome-control-center:12832): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (gnome-control-center:12832): Gtk-WARNING **: /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkliststore.c:434: Invalid type (null) [New Thread 0x7fffbae29700 (LWP 14052)] [New Thread 0x7fffb9bd7700 (LWP 14053)] [New Thread 0x7fffba628700 (LWP 14072)] [New Thread 0x7fffbc62c700 (LWP 14089)] [New Thread 0x7fffb9383700 (LWP 14090)] ** ERROR:/home/sadiq/jhbuild/checkout/network-manager-applet/src/wireless-security/eap-method-tls.c:413:eap_method_tls_new: assertion failed: (widget) [Thread 0x7fffbae29700 (LWP 14052) exited] [Thread 0x7fffbbe2b700 (LWP 13553) exited] [Thread 0x7fffb9bd7700 (LWP 14053) exited] [Thread 0x7fffb9383700 (LWP 14090) exited] [Thread 0x7fffba628700 (LWP 14072) exited] [Thread 0x7fffbc62c700 (LWP 14089) exited] Thread 1 "gnome-control-c" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) where
+ Trace 237665
Thread 1 (Thread 0x7ffff7e9eb40 (LWP 12832))
Thanks
Downstream bug report, Fedora 27: https://bugzilla.redhat.com/show_bug.cgi?id=1526688 (sorry, hidden to non-Fedora-contributors due to including private data. In case you need access, please provide me a GPG key I can send and encrypt the data to) Installed software versions: control-center-3.26.2-2.fc27.x86_64 NetworkManager-1.8.4-7.fc27.x86_64 glib2-2.54.2-1.fc27.x86_64
The backtrace for the original warning:
+ Trace 238466
We need to namespace those boxed objects, and the updated patches to apply on top of the nm-applet copy/paste broke some time after GNOME 3.20: See commits e6bccd664666d358d006b62fda7c0466634d48c9 and 0470c040b1e6f5f2b1eba852e15365579ce1dba5 amongst others
Created attachment 369519 [details] [review] network: Update from network-manager-applet Without applying patches, first.
Created attachment 369520 [details] [review] network: And apply and update control-center patches This updates fixes crashes when some structures and objects (WirelessSecurity and EAPMethod in this case) names are duplicated across the Network panel and libnma. Fixes a regression in commit 0470c04
Created attachment 369521 [details] [review] network: Update UI files from network-manager-applet Without applying patches first.
Created attachment 369522 [details] [review] network: And apply and update control-center UI patches
Those are lightly tested. I'll probably prepare a smaller patch series to apply to 3.28.0 before release.
Created attachment 369575 [details] [review] network: Fix crash opening "Hidden network" dialogue Both the Network panel and libnma expect UI resources in the same location, which will cause problems when the Network panel loads its own version that doesn't quite match up to the code used in libnma. This fixes a crash when nma_wifi_dialog_new_for_hidden() is called and libnma expects a domain widget to be present, which it isn't in our version of the UI files.
A cut-down version of the first 4 patches is now in master (for GNOME 3.28) as 7289e21ef1b8547888f6e32f8140793e555f5210, and 7bd8181b81ee36eedfcf1aab726327c51faa6527 in gnome-3-26. This was approved (+2) by the release team on IRC. The last patch was also applied to both branches, and I'll need to update it to apply to master.
I've attached a few patches to NetworkManager and network-manager-applet which should allow us to reduce the delta, and make updating those files easier.
*** Bug 780965 has been marked as a duplicate of this bug. ***
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new bug report at https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/ Thank you for your understanding and your help.