NetworkManager/src
Lubomir Rintel 6fba9fd2e5 device: make sure NMDevice doesn't vanish halfway through applying configuration
It could be that the device was removed and the default route manager holds the
last reference:

  Breakpoint 1, dispose (object=0x90e710 [NMDeviceTun]) at devices/nm-device.c:8588
  8588            NMDevice *self = NM_DEVICE (object);
  (gdb) bt
  #0  0x000000000045d24e in dispose (object=0x90e710 [NMDeviceTun]) at devices/nm-device.c:8588
  #1  0x00007ffff4d29b7c in g_object_unref (_object=0x90e710) at gobject.c:3133
  #2  0x00000000004b0a61 in _entry_at_idx_remove (entry=<optimized out>) at nm-default-route-manager.c:192
  #3  0x00000000004b0a61 in _entry_at_idx_remove (vtable=<optimized out>, self=<optimized out>, entry_idx=<optimized out>) at nm-default-route-manager.c:638
  #4  0x00000000004adb51 in _ipx_update_default_route (vtable=0x7b1850 <vtable_ip6>, self=0x7da610 [NMDefaultRouteManager], source=<optimized out>) at nm-default-route-manager.c:814
  #5  0x0000000000459ccb in nm_device_set_ip6_config (self=0x90e710 [NMDeviceTun], new_config=<optimized out>, commit=<optimized out>, reason=<optimized out>) at devices/nm-device.c:6213
  #6  0x0000000000450c92 in ip6_config_merge_and_apply (self=0x90e710 [NMDeviceTun], commit=0, out_reason=0x0) at devices/nm-device.c:3670
  #7  0x0000000000452d06 in update_ip_config (self=0x90e710 [NMDeviceTun], initial=<optimized out>) at devices/nm-device.c:6915
  #8  0x000000000046253e in queued_ip_config_change (user_data=<optimized out>) at devices/nm-device.c:6945
  #9  0x00007ffff4a257fb in g_main_context_dispatch (context=0x7ca3e0) at gmain.c:3111
  #10 0x00007ffff4a257fb in g_main_context_dispatch (context=context@entry=0x7ca3e0) at gmain.c:3710
  #11 0x00007ffff4a25b98 in g_main_context_iterate (context=0x7ca3e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3781
  #12 0x00007ffff4a25ec2 in g_main_loop_run (loop=0x7ca4a0) at gmain.c:3975
  #13 0x0000000000444bbe in main (argc=<optimized out>, argv=<optimized out>) at main.c:486
  (gdb)

  Program received signal SIGTRAP, Trace/breakpoint trap.
  g_logv (log_domain=0x7ffff4d4f164 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffffffd5b0) at gmessages.c:1046
  1046              g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
  (gdb) bt
  #0  0x00007ffff4a2c970 in g_logv (log_domain=0x7ffff4d4f164 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffffffd5b0) at gmessages.c:1046
  #1  0x00007ffff4a2cbaf in g_log (log_domain=log_domain@entry=0x7ffff4d4f164 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff4d563b0 "invalid unclassed pointer in cast to '%s'") at gmessages.c:1079
  #2  0x00007ffff4d481f9 in g_type_check_instance_cast (type_instance=0x90e710, iface_type=<optimized out>) at gtype.c:4030
  #3  0x0000000000459ceb in nm_device_set_ip6_config (self=0x90e710, new_config=<optimized out>, commit=<optimized out>, reason=0x0) at devices/nm-device.c:6217
  #4  0x0000000000450c92 in ip6_config_merge_and_apply (self=0x90e710, commit=0, out_reason=0x0) at devices/nm-device.c:3670
  #5  0x0000000000452d06 in update_ip_config (self=0x90e710, initial=<optimized out>) at devices/nm-device.c:6915
  #6  0x000000000046253e in queued_ip_config_change (user_data=<optimized out>) at devices/nm-device.c:6945
  #7  0x00007ffff4a257fb in g_main_context_dispatch (context=0x7ca3e0) at gmain.c:3111
  #8  0x00007ffff4a257fb in g_main_context_dispatch (context=context@entry=0x7ca3e0) at gmain.c:3710
  #9  0x00007ffff4a25b98 in g_main_context_iterate (context=0x7ca3e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3781
  #10 0x00007ffff4a25ec2 in g_main_loop_run (loop=0x7ca4a0) at gmain.c:3975
  #11 0x0000000000444bbe in main (argc=<optimized out>, argv=<optimized out>) at main.c:486
  (gdb)

https://bugzilla.gnome.org/show_bug.cgi?id=748193
2015-05-11 10:44:02 +02:00
..
devices device: make sure NMDevice doesn't vanish halfway through applying configuration 2015-05-11 10:44:02 +02:00
dhcp-manager systemd: merge branch 'systemd' 2015-05-11 09:19:02 +02:00
dns-manager dns: don't override DHCP-supplied search order with domain 2015-05-08 10:21:28 +02:00
dnsmasq-manager tests: enable valgrind tests for tests 2015-02-09 11:51:07 +01:00
platform platform: fix compiler warning about non-initialized pointer 2015-05-07 11:10:36 +02:00
ppp-manager platform: add self argument to platform functions 2015-04-21 17:51:34 +02:00
rdisc rdisc: prevent solicitation loop for expiring DNS information (rh #1207730) (rh #1151665) 2015-05-01 16:35:47 -05:00
settings settings: ignore incompatible connections when looking for existing ones 2015-05-06 16:14:24 -05:00
supplicant-manager wifi: fix a crash in on_bss_proxy_acquired() 2015-05-07 13:08:16 +02:00
systemd systemd: merge branch 'systemd' 2015-05-11 09:20:33 +02:00
tests platform: return link objects from add functions 2015-05-06 16:14:25 -05:00
vpn-manager vpn: don't fail if no system secrets exist 2015-05-05 15:51:25 -05:00
main-utils.c main: (order) move root user check after help/version option 2015-03-20 11:43:30 +01:00
main-utils.h main: (order) move root user check after help/version option 2015-03-20 11:43:30 +01:00
main.c platform: add self argument to platform functions 2015-04-21 17:51:34 +02:00
Makefile.am systemd: merge branch 'systemd' 2015-05-11 09:19:02 +02:00
NetworkManagerUtils.c utils: preserve errno in nm_utils_kill_child_sync() 2015-05-05 16:39:17 +02:00
NetworkManagerUtils.h core: remove G_GNUC_WARN_UNUSED_RESULT from ASSERT_VALID_PATH_COMPONENT() 2015-05-01 14:25:58 -05:00
nm-activation-request.c core, dispatcher: drop unnecessary setpgid() calls 2015-01-19 11:29:13 -05:00
nm-activation-request.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-active-connection.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-active-connection.h vpn/core: move VPN gateway route between devices when routing changes 2014-11-06 21:17:34 -06:00
nm-auth-manager.c logging: use _nm_log() to avoid duplicate check of whether logging is enabled 2015-04-22 11:22:19 +02:00
nm-auth-manager.h core: drop all remaining core-internal error domains 2014-10-22 08:29:10 -04:00
nm-auth-subject.c auth: fix memleak in _new_unix_process() 2015-01-29 14:59:42 +01:00
nm-auth-subject.h auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-utils.c auth-utils: memleak: free the key when we steal data 2015-02-18 18:10:47 +01:00
nm-auth-utils.h auth: remove session monitor argument 2015-01-05 18:38:44 +01:00
nm-config-data.c config: make ignore-carrier option reloadable 2015-05-05 16:51:19 +02:00
nm-config-data.h config: make ignore-carrier option reloadable 2015-05-05 16:51:19 +02:00
nm-config.c config: make ignore-carrier option reloadable 2015-05-05 16:51:19 +02:00
nm-config.h config: make ignore-carrier option reloadable 2015-05-05 16:51:19 +02:00
nm-connection-provider.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-connection-provider.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-connectivity.c connectivity: disable HTTP keepalive for connectivity checks 2015-03-16 10:45:25 -05:00
nm-connectivity.h connectivity: make NMConnectivity independent of NMConfig 2015-02-03 13:01:53 +01:00
nm-dbus-manager.c dbus-manager: harden registering/unregistering object 2015-04-23 19:49:34 +02:00
nm-dbus-manager.h dbus-manager: add nm_dbus_manager_setup() function for testing 2015-02-16 17:42:01 +01:00
nm-dcb.c platform: add self argument to platform functions 2015-04-21 17:51:34 +02:00
nm-dcb.h core: drop all remaining core-internal error domains 2014-10-22 08:29:10 -04:00
nm-default-route-manager.c logging: use _nm_log() to avoid duplicate check of whether logging is enabled 2015-04-22 11:22:19 +02:00
nm-default-route-manager.h policy: remove redundant remove_default_route() functions from NMDefaultRouteManager 2014-11-19 22:55:32 +01:00
nm-dhcp4-config.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-dhcp4-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dhcp6-config.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-dhcp6-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dispatcher.c dispatcher: fix crash due to wrong signature of variant for argument of "Action" D-Bus call 2015-04-07 19:18:15 +02:00
nm-dispatcher.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-firewall-manager.c firewall: clean up call completion and use GCancellable 2015-04-03 16:58:41 -04:00
nm-firewall-manager.h firewall: make call handle an opaque pointer type 2014-11-19 12:58:36 +01:00
nm-iface-helper.c fix typo and do not translate an empty string 2015-05-04 18:36:54 +02:00
nm-ip4-config.c nm-ip[64]-config: set ifindex when replacing a duplicate route 2015-04-22 09:59:24 +02:00
nm-ip4-config.h core: pass ifindex as parameter to nm_ip6_config_new() 2015-02-27 16:50:09 +01:00
nm-ip6-config.c nm-ip[64]-config: set ifindex when replacing a duplicate route 2015-04-22 09:59:24 +02:00
nm-ip6-config.h core: pass ifindex as parameter to nm_ip6_config_new() 2015-02-27 16:50:09 +01:00
nm-logging.c logging/trivial: rename _nm_log() to _nm_log_impl() 2015-04-22 11:06:49 +02:00
nm-logging.h logging: add logging macro _nm_log() that logs unconditionally 2015-04-22 11:22:19 +02:00
nm-manager.c core: let plugins indicate links which should be ignored 2015-05-06 16:14:25 -05:00
nm-manager.h iface-helper: add nm-iface-helper for dynamic configure-then-quit support 2014-11-07 12:18:33 -06:00
nm-policy.c core: (trivial) fix spelling in comments 2015-04-20 09:45:57 +02:00
nm-policy.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-properties-changed-signal.c core: intern hyphen_name string in nm_properties_changed_signal_add_property() 2015-01-29 16:23:43 +01:00
nm-properties-changed-signal.h core: make nm-properties-changed-signal always export the right properties 2013-05-20 16:38:33 -03:00
nm-rfkill-manager.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-rfkill-manager.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-route-manager.c logging: define _LOGT() macro to check valid arguments 2015-04-24 13:51:43 +02:00
nm-route-manager.h core: split route management code out from platform 2015-02-27 16:48:27 +01:00
nm-session-monitor.c core: fix session-monitor build with --with-session-tracking=none 2015-02-05 11:09:22 +01:00
nm-session-monitor.h session: merge nm-session-monitor-* modules 2015-01-05 18:39:46 +01:00
nm-sleep-monitor-systemd.c libnm, core: use _nm_dbus_signal_connect() 2015-04-03 16:58:40 -04:00
nm-sleep-monitor-upower.c core: port nm-sleep-monitor-upower to gdbus 2015-04-03 16:58:40 -04:00
nm-sleep-monitor.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-types.h platform: recognize Bluetooth BNEP devices via DEVTYPE 2015-05-06 16:14:24 -05:00
org.freedesktop.NetworkManager.conf vpn: convert NMVpnConnection <-> VPN service communication to GDBus (bgo #745307) 2015-03-03 15:04:46 -06:00