• Iain Lane's avatar
    {vpn,remote}-connection: disconnect signal handlers when disposed · b18896f7
    Iain Lane authored
    GNOME Settings 3.26 is crashing every time a VPN connection changed its
    state. After some digging, a debug message was put on dispose, and this
    issue was found:
    
    libnm-Message: Object 0x55555633c070 disposed
    libnm-Message: Object 0x55555633c730 disposed
    libnm-Message: Object 0x55555633eae0 disposed
    libnm-Message: Object 0x555556340a80 disposed
    
    Thread 1 "gnome-control-c" received signal SIGSEGV, Segmentation fault.
    g_type_check_instance_cast (type_instance=type_instance@entry=0x55555633c070, iface_type=93825006537856) at /.../glib/gobject/gtype.c:4057
    4057		  node = lookup_type_node_I (type_instance->g_class->g_type);
    (gdb) bt
    
    NetworkManager is calling callbacks on disposed objects, which leads to
    crashes in clients (e.g. GNOME Settings).
    
    Fix this issue by disconnecting signal handlers when the objects are
    disposed.
    
    Patch originally by Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787893
    b18896f7
nm-vpn-connection.c 6.54 KB