Do you guys think if the following make sense:

diff --git a/plugins/wifi.c b/plugins/wifi.c
 index 97f7144..863109d 100644
 --- a/plugins/wifi.c
 +++ b/plugins/wifi.c
 @@ -2207,7 +2207,7 @@ static int network_connect(struct connman_network
*network)
         ret = g_supplicant_interface_connect(interface, ssid,
                         connect_callback, network);

 -       if (ret < 0) {
 +       if (ret < 0 && ret != -EINPROGRESS) {
             connman_network_unref(network);
         }

Looks like ret = -EINPROGRESS is the normal return value from the function
*g_supplicant_interface_**connect. There are other failure cases in that
function like system_not_available or running out of memory. *

*Regards*
*Naveen*

On Wed, Jan 14, 2015 at 5:08 PM, Naveen Singh <[email protected]> wrote:

> Thanks Guys for the replies.
>
> I am using *supplicant version 2.0 and connman 1.27.*
>
> Here are the logs collected:
> *2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/plugins/wifi.c:network_connect() network 0xbbba8 ==>
> Trying to connect*
>
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_blob() network 0xbbba8
> key WiFi.SSID
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.Security
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.Passphrase
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.EAP
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.PrivateKeyPassphrase
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_set_string() network
> 0xbbba8 key WiFi.PrivateKeyPassphrase value (null)
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.Identity
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.AgentIdentity
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.CACertFile
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.ClientCertFile
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.PrivateKeyFile
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.PrivateKeyPassphrase
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.Phase2
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_bool() network 0xbbba8
> key WiFi.UseWPS
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_get_string() network
> 0xbbba8 key WiFi.PinWPS
>
> *2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_ref_debug() 0xbbba8 name
> GoogleGuest ref 2 by network_connect:2204:network_connect() ==> ref
> count incremented in the plugins/wifi.c directory just before creating the
> interface with supplicant for connect*
>
> *2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_unref_debug() 0xbbba8 name
> GoogleGuest ref 1 by network_connect:2211:network_connect() ==> ref count
> decremented in the plugins/wifi.c directory since
>  g_supplicant_interface_connect return -EINPROGRESS. *
>
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_set_associating() network
> 0xbbba8 associating 1
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:connman_service_lookup_from_network()
> service_name wifi_18b4300c8dbc_476f6f676c654775657374_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:connman_service_lookup_from_network()
> service 0xbbec8
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:__connman_service_ipconfig_indicate_state()
> service 0xbbec8 (wifi_18b4300c8dbc_476f6f676c654775657374_managed_none) old
> state 1 (idle
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_indicate_state() service 0xbbec8
> old idle - new association/idle => association
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/session.c:service_state_changed() service 0xbbec8
> state 2
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/notifier.c:notify_idle_state() idle 0
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/manager.c:idle_state() idle 0
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/connection.c:update_order()
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/connection.c:__connman_connection_update_gateway()
> default (nil)
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:__connman_service_ipconfig_indicate_state()
> service 0xbbec8 (wifi_18b4300c8dbc_476f6f676c654775657374_managed_none) old
> state 1 (idle
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_indicate_state() service 0xbbec8
> old association - new association/association => association
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:run_auto_connect()
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xbbec8 GoogleGuest
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc1fe0 Gleim
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc6458 Gems
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc6d00 NL Guest
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc4e48 Nest-T
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xb9158 Treasure
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xbb880 WiFi Activation
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc4500 pvhtest
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xbf4e8 NEST-
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc74b8 Tiffany
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xbeab8 Tuco Salamanco
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc7b80 Heisenberg
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xba700 dlink-dir605l
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc82a0 Asus-RT-N66U_2.4GHz
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xcec38 D3_Testing
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xcf4f0 Caparo
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xc2ce8 PROTECT-D866
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xce320 Shahnawaz-Testing
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xcfde8 DiamondSoak
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:preferred_tech_add_by_type() type 3 service
> 0xb7f28 WP_88_e7_12_00_27_d8
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:auto_connect_service() preferred 1 sessions
> 0 reason auto
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_send_changed()
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_476f6f676c654775657374_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_476c65696d_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_47656d73_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_4e4c204775657374_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_4e6573742d54_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_5472656173757265_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_576946692041637469766174696f6e_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_70766874657374_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_4e4553542d_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_54696666616e79_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_5475636f2053616c616d616e636f_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_48656973656e62657267_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_646c696e6b2d6469723630356c_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_417375732d52542d4e3636555f322e3447487a_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_44335f54657374696e67_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_43617061726f_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_50524f544543542d44383636_managed_none
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_536861686e6177617a2d54657374696e67_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_4469616d6f6e64536f616b_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/src/service.c:service_append_added_foreach() changed
> /net/connman/service/wifi_18b4300c8dbc_57505f38385f65375f31325f30305f32375f6438_managed_psk
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:signal_network_added()
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:interface_network_added()
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:merge_network() ssid (null) mode
> 0
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:merge_network() _managed
> 2015-01-15 00:37:45.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:interface_add_network_result()
> PATH: /fi/w1/wpa_supplicant1/Interfaces/0/Networks/0
> 2015-01-15 00:37:46.000000  daemon.debug connmand[313]:
> connman/./connman/gsupplicant/supplicant.c:interface_select_network_result()
> 2015-01-15 00:37:46.000000  daemon.debug connmand[313]:
> connman/./connman/plugins/wifi.c:connect_callback() network 0xbbba8 result 0
>
> *2015-01-15 00:37:46.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:connman_network_unref_debug() 0xbbba8 name
> GoogleGuest ref 0 by connect_callback:2103:connect_callback() ==> ref count
> decremented again here which makes it 0 and memory is freed.*
>
> *2015-01-15 00:37:46.000000  daemon.debug connmand[313]:
> connman/./connman/src/network.c:network_destruct() network 0xbbba8 name
> GoogleGuest ==> Network destruct tries to free the memory again and later
> on there would be crash.*
>
>
> *The call to this function **g_supplicant_interface_connect **will always
> return -EINPROGRESS so there would be an increment and decrement and then
> an additional decrement after connect_callback is called which would free
> the network pointer. I looked into the previous version of connman and i do
> not see the incrementing and decrementing around the function 
> **g_supplicant_interface_connect.
> Also the connect_callback had no decrement.*
>
> *Could it be because I am not using the version of wpa_supplicant that is
> required for working with latest connman (1.27). *
>
> *Once again thanks for prompt replies and hoping to hear from you guys.*
>
> *Regards*
> *Naveen*
>
>>
>>
>>
>> Date: Wed, 14 Jan 2015 09:16:40 +0200
>> From: Tomasz Bursztyka <[email protected]>
>> To: [email protected]
>> Subject: Re: Connman network refcount
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset=windows-1252; format=flowed
>>
>> Hi,
>>
>> > So Looks like decrementing the ref count from network removed was not
>> > correct. So either we add the network ref count from network_added
>> > function in supplicant or remove it from the network_removed function.
>> >
>> >
>> > Any thoughts?
>>
>> I am sorry, but what your are experiencing is really unclear.
>> Connecting/Disconnecting
>> hasn't brought any bugs for quite a long time. Don't try to explain the
>> code, we know it.
>> Please provide your logs.
>>
>> Br,
>>
>> Tomasz
>>
>>
>> ------------------------------
>>
>> Date: Wed, 14 Jan 2015 09:47:25 +0200
>> From: Patrik Flykt <[email protected]>
>> To: [email protected]
>> Subject: Re: Connman network refcount
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset="UTF-8"
>>
>> On Tue, 2015-01-13 at 19:30 -0800, Naveen Singh wrote:
>> > I did a simple test of connecting to a WiFi AP and
>>
>> What version of ConnMan and wpa_supplicant are you talking about?
>>
>> Cheers,
>>
>>         Patrik
>>
>>
>>
>>
>>
>>
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to