Bug#696143: gnome-control-center crashes when switching between overview and network settings panel

Josselin Mouette joss at debian.org
Tue Dec 18 00:17:25 UTC 2012


Control: tag -1 +help

Le lundi 17 décembre 2012 à 09:57 +0100, Thomas Bechtold a écrit : 
> gnome-control-center crashes when you switch between the settings
> overview and the network settings panel. I can reproduce this when I do
> the following:
> 
> 1) start gnome-control-center
> 2) select the network settings
> 3) go back to settings overview
> 4) select the network setttings

This is perfectly reproducible, thanks. However I have not managed to
debug that crash.


It crashes at one of the following places:

        for (i = 0; i < connections->len; i++) {
                c = (NMActiveConnection *)connections->pdata[i];

                devices = nm_active_connection_get_devices (c);
                if (devices && devices->pdata[0] == device) {
                        return (NMConnection *)nm_remote_settings_get_connection_by_path (panel->priv->remote_settings, nm_active_connection_get_connection (c));
                }
        }

or

        for (i = 0; connections && (i < connections->len); i++) {
                NMActiveConnection *connection;
                const GPtrArray *devices;

                connection = g_ptr_array_index (connections, i);
                g_debug ("    %s", nm_object_get_path (NM_OBJECT (connection)));
                devices = nm_active_connection_get_devices (connection);
                for (j = 0; devices && j < devices->len; j++)
                        g_debug ("           %s", nm_device_get_udi (g_ptr_array_index (devices, j)));
                if (NM_IS_VPN_CONNECTION (connection))


In both cases, nm_active_connection_get_devices returns garbage, which
triggers the crash. Which means something has fiddled with the internal
state of libnm-glib earlier.

Upstream had a pair of fixes for non-freed signals and idle functions,
but they are apparently unrelated. 
Valgrind shows a lot of unfreed memory when you leave the network panel,
so there’s no way to tell which of the remnants are causing trouble.

Anyone with ideas on how to debug it further is welcome to have a look.

Cheers,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'
  `-



More information about the pkg-gnome-maintainers mailing list