Crash when ConnectionManager is removed but account still there
Submitted by Florian Reinhard
Assigned to Telepathy bugs list
Description
Version 5.9.1 (please add that one to the version list for bug reports, it ends at 5.7)
This is not common but might still happen for broken distribution upgrades.
Steps to reproduce:
- have mission-control and e.g telepathy-gabble installed
- configure a xmpp account using gabble (tested with kde-telepathy:ktp-accounts-kcm)
- purge the connection manager telepathy-gabble
- restart mission-control-5 (don't know if one needs that step)
- start a application using telepathy (tested with kde-telepathy:ktp-contact-list)
- watch mission-control-5 die
Crashes on x86 and x64
Here's the backtrace i got:
gdb /usr/lib/telepathy/mission-control-5 GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: http://bugs.launchpad.net/gdb-linaro/... Reading symbols from /usr/lib/telepathy/mission-control-5...Reading symbols from /usr/lib/debug/usr/lib/telepathy/mission-control-5...done. done.
(gdb) run
Starting program: /usr/lib/telepathy/mission-control-5
[Thread debugging using libthread_db enabled]
Gkr-Message: secret service operation failed: The name org.freedesktop.secrets was not provided by any .service files
Gkr-Message: secret service operation failed: The name org.freedesktop.secrets was not provided by any .service files
Gkr-Message: secret service operation failed: The name org.freedesktop.secrets was not provided by any .service files
(process:9024): mcd-WARNING **: Could not add client names match rule: Key 'arg0namespace' in match rule contains junk after argument number. Only 'path' is optionally valid ('arg0path' for example).
Program received signal SIGSEGV, Segmentation fault.
g_hash_table_foreach (hash_table=0x0, func=0x7fd50e578800 <hashtable_foreach_with_values>, user_data=0x7fffddf53560)
at /build/buildd/glib2.0-2.30.0/./glib/ghash.c:1407
1407 /build/buildd/glib2.0-2.30.0/./glib/ghash.c: Datei oder Verzeichnis nicht gefunden.
in /build/buildd/glib2.0-2.30.0/./glib/ghash.c
(gdb) bt
#0 g_hash_table_foreach (hash_table=0x0, func=0x7fd50e578800 <hashtable_foreach_with_values>, user_data=0x7fffddf53560)
at /build/buildd/glib2.0-2.30.0/./glib/ghash.c:1407
#1 0x00007fd50e578c6e in hashtable_iterator (hash_type=26857952, instance=0x0, iterator=0x7fd50e574d80 <marshal_map_entry>, user_data=0x7fffddf53600)
at dbus-gvalue-utils.c:608
#2 0x00007fd50e574072 in marshal_map (iter=0x7fffddf53650, value=0x19d4ba0) at dbus-gvalue.c:1716
#3 0x00007fd50e574f3b in marshal_variant (iter=0x7fffddf536d0, value=<optimized out>) at dbus-gvalue.c:1805
#4 0x00007fd50e574dfa in marshal_map_entry (data=0x7fffddf53880, value=0x7fffddf53760, key=0x7fffddf53740) at dbus-gvalue.c:1654
#5 marshal_map_entry (key=0x7fffddf53740, value=0x7fffddf53760, data=0x7fffddf53880) at dbus-gvalue.c:1635
#6 0x00007fd50e578891 in hashtable_foreach_with_values (key=0x44e180, value=0x19d4ba0, user_data=<optimized out>) at dbus-gvalue-utils.c:586
#7 0x00007fd50d9c849f in g_hash_table_foreach (hash_table=0x19dd240, func=0x7fd50e578800 <hashtable_foreach_with_values>, user_data=0x7fffddf537e0)
at /build/buildd/glib2.0-2.30.0/./glib/ghash.c:1420
#8 0x00007fd50e578c6e in hashtable_iterator (hash_type=26857952, instance=0x19dd240, iterator=0x7fd50e574d80 <marshal_map_entry>, user_data=0x7fffddf53880)
at dbus-gvalue-utils.c:608
#9 0x00007fd50e574072 in marshal_map (iter=0x7fffddf538e0, value=0x7fffddf53970) at dbus-gvalue.c:1716
#10 0x00007fd50e56ce46 in dbus_g_method_return (context=0x19d7030) at dbus-gobject.c:3003
#11 0x0000000000438021 in tp_svc_dbus_properties_return_from_get_all (out_Properties=<optimized out>, context=<optimized out>)
at /usr/include/telepathy-1.0/telepathy-glib/_gen/tp-svc-generic.h:96
#12 get_all_iter (data=0x19d48c0) at mcd-dbusprop.c:335
#13 dbusprop_get_all (self=0x19c42d0, interface_name=<optimized out>, context=<optimized out>) at mcd-dbusprop.c:445
#14 0x00007fd50e56b9c2 in invoke_object_method (message=0x19b2d00, connection=0x199ea00, method=0x7fd50eb2d550, object_info=0x7fd50eb2bee0, object=0x19c42d0)
at dbus-gobject.c:1744
#15 object_registration_message (connection=0x199ea00, message=0x19b2d00, user_data=<optimized out>) at dbus-gobject.c:1968
#16 0x00007fd50e337ae1 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#17 0x00007fd50e3299d0 in dbus_connection_dispatch () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#18 0x00007fd50e568395 in message_queue_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at dbus-gmain.c:90
#19 0x00007fd50d9d9a5d in g_main_dispatch (context=0x19a17d0) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:2441
#20 g_main_context_dispatch (context=0x19a17d0) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3011
#21 0x00007fd50d9da258 in g_main_context_iterate (context=0x19a17d0, block=<optimized out>, dispatch=1, self=<optimized out>)
at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3089
#22 0x00007fd50d9da792 in g_main_loop_run (loop=0x199cb90) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3297
#23 0x000000000040e9e5 in main (argc=<optimized out>, argv=<optimized out>) at mc-server.c:78