Steps to reproduce: • Have a Gabble connection online with the Ytstenut plugin; • Start two Ytstenut services (say, server-client-pong twice); • Set your status to offline; • Set your status back online. (telepathy-gabble:22633): gabble-DEBUG: gabble_connection_update_capabilities (connection.c:3491): client org.freedesktop.Telepathy.Client.Vinagre has no interesting data forms (telepathy-gabble:22633): gabble-DEBUG: gabble_media_factory_add_caps (media-factory.c:1016): Client org.freedesktop.Telepathy.Client.Ytsenut.Client.lit.sp.hidere._3a1_2e5055.n0 media capabilities: (telepathy-gabble:22633): wocky-DEBUG: data_form_parse_form_field: wocky-data-form.c:543: parsed field 'FORM_TYPE' of type hidden (telepathy-gabble:22633): wocky-DEBUG: data_form_parse_form_field: wocky-data-form.c:543: parsed field 'type' of type text-single (telepathy-gabble:22633): gabble-DEBUG: gabble_connection_update_capabilities (connection.c:3460): client org.freedesktop.Telepathy.Client.Ytsenut.Client.lit.sp.hidere._3a1_2e5055.n0 contributes: --begin-- Feature: urn:ytstenut:service#lit.sp.hidere --end-- (telepathy-gabble:22633): gabble-DEBUG: gabble_connection_update_capabilities (connection.c:3481): client org.freedesktop.Telepathy.Client.Ytsenut.Client.lit.sp.hidere._3a1_2e5055.n0 contributes 1 data form: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff55a5ed8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6 #0 0x00007ffff55a5ed8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff55df6f3 in g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x520eab, hash_table=0x7ffff55a5eb8) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/ghash.c:360 #2 g_hash_table_lookup (hash_table=0x7ffff55a5eb8, key=0x520eab) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/ghash.c:1022 #3 0x000000000047da24 in get_form_type (form=<optimized out>) at connection.c:3264 #4 0x000000000047e867 in gabble_connection_update_capabilities (iface=<optimized out>, clients=0x15db760, context=0x160b220) at connection.c:3484 #5 0x00007ffff79c24a8 in invoke_object_method (message=0x159cc70, connection=0x79d1b0, method=0x7ffff6ca3c20, object_info=0x7ffff6ca20e0, object=0x7ce160) at dbus-gobject.c:1889 #6 object_registration_message (connection=0x79d1b0, message=0x159cc70, user_data=<optimized out>) at dbus-gobject.c:2151 #7 0x00007ffff778d3c1 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3 #8 0x00007ffff777f2c0 in dbus_connection_dispatch () from /lib/x86_64-linux-gnu/libdbus-1.so.3 #9 0x00007ffff79bf735 in message_queue_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at dbus-gmain.c:90 #10 0x00007ffff55f11ad in g_main_dispatch (context=0x7a0020) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/gmain.c:2425 #11 g_main_context_dispatch (context=0x7a0020) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/gmain.c:2995 #12 0x00007ffff55f19a8 in g_main_context_iterate (context=0x7a0020, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/gmain.c:3073 #13 0x00007ffff55f1ee2 in g_main_loop_run (loop=0x7a6110) at /build/buildd-glib2.0_2.30.1-2-amd64-0upKKE/glib2.0-2.30.1/./glib/gmain.c:3281 #14 0x00007ffff6a0226f in tp_run_connection_manager (prog_name=<optimized out>, version=<optimized out>, construct_cm=<optimized out>, argc=<optimized out>, argv=<optimized out>) at run.c:285 #15 0x000000000043726a in gabble_main (argc=1, argv=0x7fffffffe3f8) at gabble.c:177 #16 0x00007ffff5244ead in __libc_start_main (main=<optimized out>, argc=<optimized out>, ubp_av=<optimized out>, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe3e8) at libc-start.c:228 #17 0x0000000000436e99 in _start () I have no idea what a main arena is. Poking around a little in gdb suggests that the WockyDataForm object, and the hash table in its 'fields' field, are valid; maybe the contents of the hash table are not?
Here is a patch, kind sir. Please accept my most sincere apologies.
looks good, merge to stable and master please!
Le done, cheers.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.