From: Daniel Wagner <[email protected]>

Since service.c depends on ipconfig.c, __connman_service_cleanup()
should be called before __connman_ipconfig_cleanup().

connmand[4787]: src/ipconfig.c:__connman_ipconfig_cleanup()
connmand[4787]: em1 {remove} index 2
connmand[4787]: wlan0 {remove} index 3
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b0460 
refcount 1
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b04c0 
refcount 1
connmand[4787]: hso0 {remove} index 4
connmand[4787]: src/service.c:__connman_service_cleanup()
connmand[4787]: src/service.c:service_free() service 0x6ae690
connmand[4787]: Service state machine inconsistency detected.
connmand[4787]: src/service.c:stats_stop() service 0x6ae690
connmand[4787]: src/service.c:services_changed()
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b0460 
refcount 0
connmand[4787]: src/ipconfig.c:__connman_ipconfig_disable() ipconfig 0x6b0460

Breakpoint 1, g_log (log_domain=0x34b78adc06 "GLib", 
log_level=G_LOG_LEVEL_CRITICAL, format=
    0x34b78b6710 "%s: assertion `%s' failed") at gmessages.c:573
573     {
(gdb) bt
#0  g_log (log_domain=0x34b78adc06 "GLib", log_level=G_LOG_LEVEL_CRITICAL, 
format=
    0x34b78b6710 "%s: assertion `%s' failed") at gmessages.c:573
#1  0x00000034b7831d35 in g_hash_table_lookup (hash_table=0x0, key=0x3) at 
ghash.c:897
#2  0x000000000044e9a4 in __connman_ipconfig_disable (ipconfig=0x6b0460) at 
src/ipconfig.c:1678
#3  0x000000000044de9d in connman_ipconfig_unref (ipconfig=0x6b0460) at 
src/ipconfig.c:1279
#4  0x0000000000440750 in service_free (user_data=0x6ae690) at 
src/service.c:3416
#5  0x00000034b785aac8 in real_node_free (node=0x6a2ed0, seq=0x6a3de0) at 
gsequence.c:1755
#6  0x00000034b785aaa2 in real_node_free (node=0x6a2a70, seq=0x6a3de0) at 
gsequence.c:1751
#7  0x00000034b785ae39 in g_sequence_free (seq=0x6a3de0) at gsequence.c:283
#8  0x0000000000444b53 in __connman_service_cleanup () at src/service.c:5617
#9  0x000000000042fb75 in main (argc=1, argv=0x7fffffffe678) at src/main.c:401
---
 src/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/main.c b/src/main.c
index aec634d..f36c4f5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -385,7 +385,6 @@ int main(int argc, char *argv[])
        __connman_proxy_cleanup();
        __connman_task_cleanup();
        __connman_rtnl_cleanup();
-       __connman_ipconfig_cleanup();
        __connman_resolver_cleanup();
 
        __connman_clock_cleanup();
@@ -399,6 +398,7 @@ int main(int argc, char *argv[])
        __connman_device_cleanup();
        __connman_network_cleanup();
        __connman_service_cleanup();
+       __connman_ipconfig_cleanup();
        __connman_notifier_cleanup();
        __connman_technology_cleanup();
 
-- 
1.7.6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to