Hi,
I got the following g_warn with current git-master:
#0 0x0000003370c504e9 in g_logv () from /lib64/libglib-2.0.so.0
No symbol table info available.
#1 0x0000003370c5063f in g_log () from /lib64/libglib-2.0.so.0
No symbol table info available.
#2 0x0000003370c50956 in g_warn_message () from /lib64/libglib-2.0.so.0
No symbol table info available.
#3 0x0000000000439962 in carrier_changed (device=0x1d94300, carrier=1) at
devices/nm-device.c:1021
priv = 0x1d94090
__FUNCTION__ = "carrier_changed"
__PRETTY_FUNCTION__ = "carrier_changed"
#4 0x0000000000488f12 in carrier_changed (device=0x1d94300, carrier=1) at
devices/nm-device-ethernet.c:1646
No locals.
#5 0x0000000000434c94 in nm_device_set_carrier (device=device@entry=0x1d94300,
carrier=1) at devices/nm-device.c:1104
priv = 0x1d94090
klass = 0x1d87440
state = NM_DEVICE_STATE_UNMANAGED
iface = <optimized out>
__FUNCTION__ = "nm_device_set_carrier"
#6 0x0000000000434dd5 in check_carrier (device=device@entry=0x1d94300) at
devices/nm-device.c:1298
ifindex = 2
#7 0x0000000000434ef8 in constructed (object=0x1d94300) at
devices/nm-device.c:550
dev = 0x1d94300
priv = 0x1d94090
__FUNCTION__ = "constructed"
#8 0x0000003371c15d87 in g_object_new_internal () from
/lib64/libgobject-2.0.so.0
No symbol table info available.
#9 0x0000003371c17814 in g_object_new_valist () from /lib64/libgobject-2.0.so.0
No symbol table info available.
#10 0x0000003371c17c11 in g_object_new () from /lib64/libgobject-2.0.so.0
No symbol table info available.
#11 0x000000000048bc2e in nm_device_ethernet_new
(platform_device=platform_device@entry=0x1d82e58) at
devices/nm-device-ethernet.c:336
__PRETTY_FUNCTION__ = "nm_device_ethernet_new"
#12 0x000000000047c600 in platform_link_added (self=0x1d70150,
ifindex=ifindex@entry=2, plink=plink@entry=0x1d82e58,
reason=reason@entry=NM_PLATFORM_REASON_INTERNAL) at nm-manager.c:1954
parent_ifindex = -1
parent = <optimized out>
priv = <optimized out>
device = 0x0
iter = 0x0
error = 0x0
__PRETTY_FUNCTION__ = "platform_link_added"
__FUNCTION__ = "platform_link_added"
#13 0x000000000047c7db in platform_link_cb (platform=<optimized out>,
ifindex=2, plink=0x1d82e58, change_type=<optimized out>,
reason=NM_PLATFORM_REASON_INTERNAL, user_data=0x1d70150) at nm-manager.c:2038
No locals.
#14 0x0000003371805d8c in ffi_call_unix64 () from /lib64/libffi.so.6
No symbol table info available.
#15 0x00000033718056bc in ffi_call () from /lib64/libffi.so.6
No symbol table info available.
#16 0x0000003371c10ad8 in g_cclosure_marshal_generic () from
/lib64/libgobject-2.0.so.0
No symbol table info available.
#17 0x0000003371c10298 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
No symbol table info available.
#18 0x0000003371c2235d in signal_emit_unlocked_R () from
/lib64/libgobject-2.0.so.0
No symbol table info available.
#19 0x0000003371c2a0f2 in g_signal_emit_valist () from
/lib64/libgobject-2.0.so.0
No symbol table info available.
#20 0x0000003371c2a3af in g_signal_emit () from /lib64/libgobject-2.0.so.0
No symbol table info available.
#21 0x000000000044f6ba in nm_platform_query_devices () at
platform/nm-platform.c:330
links_array = 0x7fb878007580
links = 0x1d82e10
i = 1
#22 0x000000000047de4c in nm_manager_start (self=0x1d70150) at nm-manager.c:4025
priv = 0x1d70000
i = 3
---Type <return> to continue, or q <return> to quit---
__FUNCTION__ = "nm_manager_start"
#23 0x0000000000429d31 in main (argc=1, argv=0x7fffb4c31628) at main.c:654
opt_ctx = <optimized out>
opt_log_level = 0x0
opt_log_domains = 0x0
become_daemon = 1
run_from_build_dir = 0
debug = 1
g_fatal_warnings = 0
pidfile = 0x1cdf280
"/opt/test/var/run/NetworkManager/NetworkManager.pid"
state_file = 0x1cdf3b0
"/opt/test/var/lib/NetworkManager/NetworkManager.state"
wifi_enabled = 1
net_enabled = 1
wwan_enabled = 1
wimax_enabled = 1
success = 0
show_version = 0
i = <optimized out>
manager = 0x1d70150
vpn_manager = <optimized out>
dns_mgr = <optimized out>
dbus_mgr = 0x1cecf40
sup_mgr = <optimized out>
dhcp_mgr = <optimized out>
fw_mgr = <optimized out>
settings = <optimized out>
config = <optimized out>
session_monitor = <optimized out>
error = 0x0
wrote_pidfile = 0
bad_domains = 0x0
options = {{long_name = 0x4c7dd9 "version", short_name = 86 'V', flags
= 0, arg = G_OPTION_ARG_NONE, arg_data = 0x7fffb4c314dc, description = 0x4ab3a8
"Print NetworkManager version and exit", arg_description = 0x0}, {
long_name = 0x4aba70 "no-daemon", short_name = 110 'n', flags = 4,
arg = G_OPTION_ARG_NONE, arg_data = 0x7fffb4c3150c, description = 0x4aba7a
"Don't become a daemon", arg_description = 0x0}, {long_name = 0x4af9eb "debug",
short_name = 100 'd', flags = 0, arg = G_OPTION_ARG_NONE, arg_data
= 0x7fffb4c31504, description = 0x4ab3d0 "Don't become a daemon, and log to
stderr", arg_description = 0x0}, {long_name = 0x4aba90 "log-level",
short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_STRING,
arg_data = 0x7fffb4c31518, description = 0x1cdd9c0 "Log level: one of
[DEBUG,INFO,WARN,ERR]", arg_description = 0x4abab1 "INFO"}, {
long_name = 0x4abab6 "log-domains", short_name = 0 '\000', flags =
0, arg = G_OPTION_ARG_STRING, arg_data = 0x7fffb4c31510,
description = 0x1cddb00 "Log domains separated by ',': any
combination of
[DEFAULT,NONE,PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,DHCP,PPP,WIFI_SCAN,IP4,IP6,IP,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,COR"...,
arg_description = 0x4abac2 "PLATFORM,RFKILL,WIFI"}, {long_name = 0x4abad7
"g-fatal-warnings", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x7fffb4c31500, description = 0x4abae8 "Make all warnings fatal",
arg_description = 0x0}, {long_name = 0x4abb00 "pid-file",
short_name = 112 'p', flags = 0, arg = G_OPTION_ARG_FILENAME, arg_data =
0x7fffb4c314f8, description = 0x4ab438 "Specify the location of a PID file",
arg_description = 0x4abb09 "filename"}, {long_name = 0x4abb12
"state-file", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_FILENAME,
arg_data = 0x7fffb4c314f0, description = 0x4abb1d "State file location",
arg_description = 0x4abb31 "/path/to/state.file"}, {long_name =
0x4abb45 "run-from-build-dir", short_name = 0 '\000', flags = 0, arg =
G_OPTION_ARG_NONE, arg_data = 0x7fffb4c31508,
description = 0x4abb58 "Run from build directory", arg_description
= 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg =
G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
__FUNCTION__ = "main"
print *priv
$2 = {disposed = 0, initialized = 1, in_state_changed = 0, state =
NM_DEVICE_STATE_UNMANAGED, state_reason = NM_DEVICE_STATE_REASON_NONE,
queued_state = {state = NM_DEVICE_STATE_UNKNOWN, reason =
NM_DEVICE_STATE_REASON_NONE, id = 0},
queued_ip_config_id = 0, pending_actions = 0x0, udi = 0x1d87c30
"/sys/devices/pci0000:00/0000:00:19.0/net/em1", path = 0x0, iface = 0x1d87c70
"em1", ifindex = 2, is_software = 0, ip_iface = 0x0, ip_ifindex = 0,
type = NM_DEVICE_TYPE_ETHERNET, type_desc = 0x1d87cd0 "Ethernet",
capabilities = 3, driver = 0x1d87c90 "e1000e", driver_version = 0x1d87cb0
"2.3.2-k", firmware_version = 0x1d87cf0 "0.13-3", rfkill_type =
RFKILL_TYPE_UNKNOWN,
firmware_missing = 0Python Exception <class 'gdb.error'> There is no member
named keys.:
, available_connections = 0x1d90800, hw_addr = "<\227\016b\332%", '\000'
<repeats 13 times>, hw_addr_len = 6, physical_port_id = 0x0, unmanaged_flags =
NM_UNMANAGED_NONE, is_nm_owned = 0,
delete_on_deactivate_data = 0x0, ip4_address = 0, queued_act_request = 0x0,
act_request = 0x0, act_source_id = 0, act_source_func = 0x0, act_source6_id =
0, act_source6_func = 0x0, link_connected_id = 0, link_disconnected_id = 0,
carrier_defer_id = 0, carrier = 1, carrier_wait_id = 0, ignore_carrier = 0,
mtu = 0, dhcp_timeout = 0, dhcp_anycast_address = 0x0, ip4_config = 0x0,
ip4_state = IP_NONE, dev_ip4_config = 0x0, ext_ip4_config = 0x0, dhcp4_client =
0x0,
dhcp4_state_sigid = 0, dhcp4_timeout_sigid = 0, dhcp4_config = 0x0,
vpn4_config = 0x0, arp_round2_id = 0, gw_ping = {log_domain = 0, timeout = 0,
watch = 0, pid = 0}, dnsmasq_manager = 0x0, dnsmasq_state_id = 0,
fw_manager = 0x7fb8780050e0, fw_call = 0x0, aipd_pid = 0, aipd_watch = 0,
aipd_timeout = 0, ip6_config = 0x0, ip6_state = IP_NONE, vpn6_config = 0x0,
ext_ip6_config = 0x0, rdisc = 0x0, rdisc_config_changed_sigid = 0,
rdisc_use_tempaddr = NM_SETTING_IP6_CONFIG_PRIVACY_DISABLED, ac_ip6_config =
0x0, Python Exception <class 'gdb.error'> There is no member named keys.:
linklocal6_timeout_id = 0, ip6_saved_properties = 0x1d90860, dhcp6_client =
0x0, dhcp6_mode = NM_RDISC_DHCP_LEVEL_UNKNOWN, dhcp6_state_sigid = 0,
dhcp6_timeout_sigid = 0, dhcp6_config = 0x0, dhcp6_ip6_config = 0x0,
autoconnect = 1, master = 0x0, enslaved = 0, master_ready_id = 0, is_master =
0, slaves = 0x0, con_provider = 0x0}
how about the attached patch?
Thomas
log.txt.gz
Description: application/gzip
From e36096b3a4ff0239f40513aa25d81364cfe2e9c4 Mon Sep 17 00:00:00 2001 From: Thomas Haller <[email protected]> Date: Mon, 2 Jun 2014 13:00:51 +0200 Subject: [PATCH 1/1] core: properly handle carrier_changed() for devices in state UNMANAGED Fixes the following g_warn(): #0 0x0000003370c504e9 in g_logv () from /lib64/libglib-2.0.so.0 #1 0x0000003370c5063f in g_log () from /lib64/libglib-2.0.so.0 #2 0x0000003370c50956 in g_warn_message () from /lib64/libglib-2.0.so.0 #3 0x0000000000439962 in carrier_changed (device=0x1d94300, carrier=1) at devices/nm-device.c:1021 #4 0x0000000000488f12 in carrier_changed (device=0x1d94300, carrier=1) at devices/nm-device-ethernet.c:1646 #5 0x0000000000434c94 in nm_device_set_carrier (device=device@entry=0x1d94300, carrier=1) at devices/nm-device.c:1104 #6 0x0000000000434dd5 in check_carrier (device=device@entry=0x1d94300) at devices/nm-device.c:1298 #7 0x0000000000434ef8 in constructed (object=0x1d94300) at devices/nm-device.c:550 #8 0x0000003371c15d87 in g_object_new_internal () from /lib64/libgobject-2.0.so.0 #9 0x0000003371c17814 in g_object_new_valist () from /lib64/libgobject-2.0.so.0 #10 0x0000003371c17c11 in g_object_new () from /lib64/libgobject-2.0.so.0 #11 0x000000000048bc2e in nm_device_ethernet_new (platform_device=platform_device@entry=0x1d82e58) at devices/nm-device-ethernet.c:336 #12 0x000000000047c600 in platform_link_added (self=0x1d70150, ifindex=ifindex@entry=2, plink=plink@entry=0x1d82e58, reason=reason@entry=NM_PLATFORM_REASON_INTERNAL) at nm-manager.c:1954 #13 0x000000000047c7db in platform_link_cb (platform=<optimized out>, ifindex=2, plink=0x1d82e58, change_type=<optimized out>, reason=NM_PLATFORM_REASON_INTERNAL, user_data=0x1d70150) at nm-manager.c:2038 #14 0x0000003371805d8c in ffi_call_unix64 () from /lib64/libffi.so.6 #15 0x00000033718056bc in ffi_call () from /lib64/libffi.so.6 #16 0x0000003371c10ad8 in g_cclosure_marshal_generic () from /lib64/libgobject-2.0.so.0 #17 0x0000003371c10298 in g_closure_invoke () from /lib64/libgobject-2.0.so.0 #18 0x0000003371c2235d in signal_emit_unlocked_R () from /lib64/libgobject-2.0.so.0 #19 0x0000003371c2a0f2 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0 #20 0x0000003371c2a3af in g_signal_emit () from /lib64/libgobject-2.0.so.0 #21 0x000000000044f6ba in nm_platform_query_devices () at platform/nm-platform.c:330 #22 0x000000000047de4c in nm_manager_start (self=0x1d70150) at nm-manager.c:4025 #23 0x0000000000429d31 in main (argc=1, argv=0x7fffb4c31628) at main.c:654 Signed-off-by: Thomas Haller <[email protected]> --- src/devices/nm-device.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 6a7ec5e..4e5c9dc 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -989,6 +989,9 @@ carrier_changed (NMDevice *device, gboolean carrier) if (!nm_device_get_managed (device)) return; + if (priv->state <= NM_DEVICE_STATE_UNMANAGED) + return; + nm_device_recheck_available_connections (device); /* ignore-carrier devices ignore all carrier-down events */ @@ -1018,8 +1021,6 @@ carrier_changed (NMDevice *device, gboolean carrier) } if (carrier) { - g_warn_if_fail (priv->state >= NM_DEVICE_STATE_UNAVAILABLE); - if (priv->state == NM_DEVICE_STATE_UNAVAILABLE) { nm_device_queue_state (device, NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_CARRIER); @@ -1032,8 +1033,6 @@ carrier_changed (NMDevice *device, gboolean carrier) nm_device_emit_recheck_auto_activate (device); } } else { - g_return_if_fail (priv->state >= NM_DEVICE_STATE_UNAVAILABLE); - if (priv->state == NM_DEVICE_STATE_UNAVAILABLE) { if (nm_device_queued_state_peek (device) >= NM_DEVICE_STATE_DISCONNECTED) nm_device_queued_state_clear (device); -- 1.9.3
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
