Hi,
connmand crash often when unplugging an usb wifi key. Just before the crash i
see these messages in the log:
connmand[28802]: device.c:device_destruct() element 0x87518a8 name
dev_11_22_33_44_55_66
connmand[28802]: element.c:free_properties() element 0x87518a8 name
dev_11_22_33_44_55_66
connmand[28802]: element.c:unregister_property() property 0x8750ab8
connmand[28802]: rtnl.c:rtnl_message() buf 0xbfa245a4 len 244
connmand[28802]: rtnl.c:rtnl_message() DELLINK len 244 type 17 flags 0x0000 seq 0
connmand[28802]: rtnl.c:rtnl_dellink() ifi_type 801 ifi_index 18 ifi_flags
0x1002 ifi_change 0xffffffff
connmand[28802]: detect.c:detect_dellink() type 801 index 18
connmand[28802]: supplicant.c:remove_interface_reply() task 0x874e568
connmand[28802]: device.c:connman_device_set_powered() driver 0x87518a8 powered 0
process 28802: arguments to dbus_message_new_signal() were incorrect, assertion
"_dbus_check_is_valid_path (path)" failed in file dbus-message.c line 1161.
This is normally a bug in some application using the D-Bus library.
connmand[28802]: supplicant.c:free_task() task 0x874e568
I think that the device struct is destroy before the call of
connman_device_set_powered() in remove_interface_reply(). We just need to
make a call to connman_device_ref() to fix the bug.
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -362,6 +362,7 @@
connman_device_set_powered(task->device, FALSE);
+ connman_device_unref(task->device);
free_task(task);
dbus_message_unref(reply);
@@ -1258,6 +1259,8 @@
return -ENOMEM;
}
+ connman_device_ref(task->device);
+
task->created = FALSE;
task->noscan = FALSE;
task->state = WPA_INVALID;
Luc
_______________________________________________
connman mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/connman