From ad8b4d1fee361e47b5dde567529e0d5259186a61 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 21 Sep 2011 11:33:21 +0200 Subject: [PATCH] main: Cleanup ipconfig after service 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 file changed, 1 insertion(+), 1 deletion(-) 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(); -- 2.7.4