After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 785099 - Wi-Fi segfault when trying to connect to hidden network
Wi-Fi segfault when trying to connect to hidden network
Status: RESOLVED OBSOLETE
Product: gnome-control-center
Classification: Core
Component: Network
git master
Other Linux
: Normal major
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
triaged
: 780965 (view as bug list)
Depends on: 794294 794295
Blocks:
 
 
Reported: 2017-07-19 04:30 UTC by Mohammed Sadiq
Modified: 2021-06-09 16:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
network: Update from network-manager-applet (92.68 KB, patch)
2018-03-09 18:07 UTC, Bastien Nocera
none Details | Review
network: And apply and update control-center patches (12.40 KB, patch)
2018-03-09 18:07 UTC, Bastien Nocera
none Details | Review
network: Update UI files from network-manager-applet (69.08 KB, patch)
2018-03-09 18:07 UTC, Bastien Nocera
none Details | Review
network: And apply and update control-center UI patches (61.00 KB, patch)
2018-03-09 18:07 UTC, Bastien Nocera
none Details | Review
network: Fix crash opening "Hidden network" dialogue (19.47 KB, patch)
2018-03-12 13:48 UTC, Bastien Nocera
none Details | Review

Description Mohammed Sadiq 2017-07-19 04:30:53 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

Thread 1 (Thread 0x7ffff7e9eb40 (LWP 12832))

  • #0 __GI_raise
    at ../sysdeps/unix/sysv/linux/raise.c line 51
  • #1 __GI_abort
    at abort.c line 89
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
    at /home/sadiq/jhbuild/checkout/glib/glib/gtestutils.c line 2456
  • #4 eap_method_tls_new
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/wireless-security/eap-method-tls.c line 413
  • #5 ws_802_1x_auth_combo_init
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/wireless-security/wireless-security.c line 433
  • #6 ws_dynamic_wep_new
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/wireless-security/ws-dynamic-wep.c line 121
  • #7 security_combo_init
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/libnma/nma-wifi-dialog.c line 959
  • #8 internal_init
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/libnma/nma-wifi-dialog.c line 1127
  • #9 internal_new_operation
  • #10 nma_wifi_dialog_new_for_hidden
    at /home/sadiq/jhbuild/checkout/network-manager-applet/src/libnma/nma-wifi-dialog.c line 1359
  • #11 cc_network_panel_connect_to_hidden_network
    at network-dialogs.c line 249
  • #12 connect_to_hidden_network
    at net-device-wifi.c line 661
  • #13 g_cclosure_marshal_VOID__VOID
    at /home/sadiq/jhbuild/checkout/glib/gobject/gmarshal.c line 875
  • #14 g_closure_invoke
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 804
  • #15 signal_emit_unlocked_R
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3635
  • #16 g_signal_emit_valist
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3391
  • #17 g_signal_emit
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3447
  • #18 gtk_button_clicked
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkbutton.c line 1539
  • #19 gtk_button_do_release
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkbutton.c line 1843
  • #20 gtk_real_button_released
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkbutton.c line 1961
  • #21 g_cclosure_marshal_VOID__VOIDv
    at /home/sadiq/jhbuild/checkout/glib/gobject/gmarshal.c line 905
  • #22 g_type_class_meta_marshalv
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 1024
  • #23 _g_closure_invoke_va
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 867
  • #24 g_signal_emit_valist
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3300
  • #25 g_signal_emit
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3447
  • #26 multipress_released_cb
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkbutton.c line 666
  • #27 ffi_call_unix64
    from /usr/lib/x86_64-linux-gnu/libffi.so.6
  • #28 ffi_call
    from /usr/lib/x86_64-linux-gnu/libffi.so.6
  • #29 g_cclosure_marshal_generic_va
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 1604
  • #30 _g_closure_invoke_va
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 867
  • #31 g_signal_emit_valist
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3300
  • #32 g_signal_emit
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3447
  • #33 gtk_gesture_multi_press_end
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkgesturemultipress.c line 282
  • #34 g_cclosure_marshal_VOID__BOXEDv
    at /home/sadiq/jhbuild/checkout/glib/gobject/gmarshal.c line 1950
  • #35 g_type_class_meta_marshalv
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 1024
  • #36 _g_closure_invoke_va
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 867
  • #37 g_signal_emit_valist
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3300
  • #38 g_signal_emit
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3447
  • #39 _gtk_gesture_set_recognized
  • #40 _gtk_gesture_check_recognized
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkgesture.c line 386
  • #41 gtk_gesture_handle_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkgesture.c line 777
  • #42 gtk_gesture_single_handle_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkgesturesingle.c line 222
  • #43 gtk_event_controller_handle_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkeventcontroller.c line 230
  • #44 _gtk_widget_run_controllers
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkwidget.c line 7358
  • #45 gtk_widget_real_button_event
  • #46 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #47 g_type_class_meta_marshalv
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 1024
  • #48 _g_closure_invoke_va
    at /home/sadiq/jhbuild/checkout/glib/gobject/gclosure.c line 867
  • #49 g_signal_emit_valist
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3300
  • #50 g_signal_emit
    at /home/sadiq/jhbuild/checkout/glib/gobject/gsignal.c line 3447
  • #51 gtk_widget_event_internal
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkwidget.c line 7723
  • #52 gtk_widget_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkwidget.c line 7293
  • #53 propagate_event_up
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkmain.c line 2568
  • #54 propagate_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkmain.c line 2670
  • #55 gtk_propagate_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkmain.c line 2705
  • #56 gtk_main_do_event
    at /home/sadiq/jhbuild/checkout/gtk+-3/gtk/gtkmain.c line 1901
  • #57 _gdk_event_emit
    at /home/sadiq/jhbuild/checkout/gtk+-3/gdk/gdkevents.c line 73
  • #58 gdk_event_source_dispatch
    at /home/sadiq/jhbuild/checkout/gtk+-3/gdk/x11/gdkeventsource.c line 367
  • #59 g_main_dispatch
    at /home/sadiq/jhbuild/checkout/glib/glib/gmain.c line 3148
  • #60 g_main_context_dispatch
    at /home/sadiq/jhbuild/checkout/glib/glib/gmain.c line 3813
  • #61 g_main_context_iterate
    at /home/sadiq/jhbuild/checkout/glib/glib/gmain.c line 3886
  • #62 g_main_context_iteration
    at /home/sadiq/jhbuild/checkout/glib/glib/gmain.c line 3947
  • #63 g_application_run
    at /home/sadiq/jhbuild/checkout/glib/gio/gapplication.c line 2378
  • #64 main
    at main.c line 57

Thanks
Comment 1 Christian Stadelmann 2017-12-16 09:16:22 UTC
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
Comment 2 Bastien Nocera 2018-03-09 16:55:44 UTC
The backtrace for the original warning:

  • #3 g_return_if_fail_warning
  • #4 g_boxed_type_register_static
    at /home/hadess/Projects/jhbuild/glib/gobject/gboxed.c line 305
  • #5 wireless_security_get_type
    from /lib64/libnma.so.0
  • #6 security_combo_init
    from /lib64/libnma.so.0
  • #7 internal_init
    from /lib64/libnma.so.0
  • #8 internal_new_operation
    from /lib64/libnma.so.0
  • #9 cc_network_panel_connect_to_hidden_network
    at ../../../../Projects/jhbuild/gnome-control-center/panels/network/network-dialogs.c line 249

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
Comment 3 Bastien Nocera 2018-03-09 18:07:22 UTC
Created attachment 369519 [details] [review]
network: Update from network-manager-applet

Without applying patches, first.
Comment 4 Bastien Nocera 2018-03-09 18:07:32 UTC
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
Comment 5 Bastien Nocera 2018-03-09 18:07:42 UTC
Created attachment 369521 [details] [review]
network: Update UI files from network-manager-applet

Without applying patches first.
Comment 6 Bastien Nocera 2018-03-09 18:07:52 UTC
Created attachment 369522 [details] [review]
network: And apply and update control-center UI patches
Comment 7 Bastien Nocera 2018-03-09 18:09:23 UTC
Those are lightly tested. I'll probably prepare a smaller patch series to apply to 3.28.0 before release.
Comment 8 Bastien Nocera 2018-03-12 13:48:47 UTC
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.
Comment 9 Bastien Nocera 2018-03-12 13:53:41 UTC
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.
Comment 10 Bastien Nocera 2018-03-13 16:28:36 UTC
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.
Comment 11 Jonathan Kang 2018-05-07 08:48:08 UTC
*** Bug 780965 has been marked as a duplicate of this bug. ***
Comment 12 André Klapper 2021-06-09 16:32:48 UTC
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.