[PATCH 0/2] Connman 1.9 crashes when wifi dongle is unplugged.

Sameer Naik sameer.subscriptions at damagehead.com
Fri Nov 9 07:23:58 PST 2012


Hello Patrik,

I can confirm that this patchset fixes the issue for me.
But i think unplugging and plugging back the wifi usb dongle causes
some issue in the dnsproxy. After the unplug -> plug cycle the
dnsproxy is no longer able to resolve hostnames and requires a
connmand restart. Please take a look at the log below. Let me know if
you need the full log to analyse this issue.

connmand[1790]: src/dnsproxy.c:parse_request() id 0xb6d6 qr 0 opcode 0
qdcount 1 arcount 0
connmand[1790]: src/dnsproxy.c:parse_request() query www.google.com.
connmand[1790]: src/dnsproxy.c:resolv() server 192.168.2.1 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 192.168.2.1 sock 16 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:resolv() server 8.8.8.8 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 8.8.8.8 sock 17 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:udp_listener_event() Received 32 bytes
(id 0xb6d6)
connmand[1790]: src/dnsproxy.c:parse_request() id 0xb6d6 qr 0 opcode 0
qdcount 1 arcount 0
connmand[1790]: src/dnsproxy.c:parse_request() query www.google.com.
connmand[1790]: src/dnsproxy.c:resolv() server 192.168.2.1 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 192.168.2.1 sock 16 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:resolv() server 8.8.8.8 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 8.8.8.8 sock 17 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:request_timeout() id 0xb6d6
connmand[1790]: src/dnsproxy.c:udp_listener_event() Received 32 bytes
(id 0x432a)
connmand[1790]: src/dnsproxy.c:parse_request() id 0x432a qr 0 opcode 0
qdcount 1 arcount 0
connmand[1790]: src/dnsproxy.c:parse_request() query www.google.com.
connmand[1790]: src/dnsproxy.c:resolv() server 192.168.2.1 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 192.168.2.1 sock 16 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:resolv() server 8.8.8.8 enabled 1
connmand[1790]: src/dnsproxy.c:ns_resolv() Cannot send message to
server 8.8.8.8 sock 17 protocol 17 (No such device/19)
connmand[1790]: src/dnsproxy.c:request_timeout() id 0xb6d6


Thanks & Regards
~Sameer

On Fri, Nov 9, 2012 at 2:24 PM,  <patrik.flykt at linux.intel.com> wrote:
> From: Patrik Flykt <patrik.flykt at linux.intel.com>
>
>         Hi,
>
> It seems there is a race condition between rtnl and wpa_supplicant.
>
> The registered object path is gone when ConnMan tries to disconnect and
> remove the network from wpa_supplicant. Thus look out for D-Bus telling
> that the intended objec path is gone.
>
> The real problem behind this is that the struct wifi_data is given to the
> callback and is freed while either of the D-Bus method calls are in
> progress. But that takes some more time to fix.
>
> While testing, can you please export the CONNMAN_SUPPLICANT_DEBUG=1
> environment variable so we get the needed logging from the wifi plugin
> and the gsupplicant support code also?
>
> Thanks,
>
>         Patrik
>
>
> Patrik Flykt (2):
>   supplicant: Handle race condition on WiFi dongle removal
>   wifi: Handle D-Bus method call failure
>
>  gsupplicant/supplicant.c |   25 +++++++++++++++++++++----
>  plugins/wifi.c           |    8 ++++++++
>  2 files changed, 29 insertions(+), 4 deletions(-)
>
> --
> 1.7.10.4
>



More information about the connman mailing list