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 672922 - gnome-control-center crashed with SIGSEGV in panel_get_strongest_unique_aps()
gnome-control-center crashed with SIGSEGV in panel_get_strongest_unique_aps()
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Network
3.3.x
Other Linux
: Normal critical
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
: 672930 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-03-27 14:48 UTC by Sebastien Bacher
Modified: 2012-11-29 15:51 UTC
See Also:
GNOME target: 3.4
GNOME version: ---


Attachments
Ignore hidden SSIDs (not run tested) (1.97 KB, patch)
2012-04-20 16:58 UTC, Dan Williams
committed Details | Review

Description Sebastien Bacher 2012-03-27 14:48:42 UTC
The bug got reported on https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/908670

"Opened network folder.Tried connect to my lan then the gnome-control-center crashed

Stracktrace (3.2.2)

  • #0 panel_get_strongest_unique_aps
    at cc-network-panel.c line 1086
  • #1 device_refresh_wifi_ui
    at cc-network-panel.c line 1783
  • #2 nm_device_refresh_device_ui
    at cc-network-panel.c line 1884
  • #3 refresh_ui_idle
    at cc-network-panel.c line 2194
  • #4 g_idle_dispatch
    at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c line 4632
  • #5 g_main_dispatch
    at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c line 2513
  • #6 g_main_context_dispatch
    at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c line 3050
  • #7 g_main_context_iterate
    at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c line 3121
  • #8 g_main_context_iterate
    at /build/buildd/glib2.0-2.31.4.tested/./glib/gmain.c line 3058

Comment 1 Sebastien Bacher 2012-03-27 14:49:55 UTC
The bug is still receiving duplicates with 3.3.92 and seems a frequent segfault 

Similar bug from the fedora tracker:
https://bugzilla.redhat.com/show_bug.cgi?id=695247
Comment 2 Sebastien Bacher 2012-03-27 14:52:17 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=756329 as well on 3.2
Comment 3 Dan Williams 2012-04-20 16:47:44 UTC
In panel_get_strongest_unique_aps() 'ssid' is dereferenced without being checked for NULL.  If some AP isn't broadcasting it's SSID, then the value returned from nm_access_point_get_ssid() will be NULL, and thus the debug logging will segfault.  The correct patch here should simply ignore any access point that isn't broadcasting it's SSID, since it's point less to show these in the list.  To connect to them the user needs to enter the SSID manually anyway.
Comment 4 Dan Williams 2012-04-20 16:58:42 UTC
Created attachment 212443 [details] [review]
Ignore hidden SSIDs (not run tested)
Comment 5 Bastien Nocera 2012-04-21 12:28:50 UTC
Review of attachment 212443 [details] [review]:

Looks good.

::: panels/network/cc-network-panel.c
@@ +1127,3 @@
                                 ap_tmp = NM_ACCESS_POINT (g_ptr_array_index (aps_unique, j));
                                 ssid_tmp = nm_access_point_get_ssid (ap_tmp);
+                                g_assert (ssid_tmp);

What's this assertion for?
Comment 6 Mathieu Trudel-Lapierre 2012-04-27 15:14:46 UTC
Bastien,

Pretty much just being thorough. Since the networks would be added by the other parts of that loop, there is no reason why ssid_tmp should ever be NULL.
Comment 7 Bastien Nocera 2012-11-29 10:21:58 UTC
Comment on attachment 212443 [details] [review]
Ignore hidden SSIDs (not run tested)

Pushed to gnome-3-4
Comment 8 Bastien Nocera 2012-11-29 15:51:30 UTC
*** Bug 672930 has been marked as a duplicate of this bug. ***