Which means GHashTable is modified in the foreach loop, which is not allowed.
The debug trace below has additional debug injected into control points touching the table - namely cache_entry_attempt_to_free (../src/vcard-manager.c:451)
(telepathy-gabble:372456): gabble-DEBUG: 00:04:59.275: gabble_disco_finalize (../src/disco.c:254): called with 0x5555557157a0
(telepathy-gabble:372456): gabble-DEBUG: 00:04:59.275: gabble_request_pipeline_dispose (../src/request-pipeline.c:275): disposing request-pipeline
(telepathy-gabble:372456): gabble-DEBUG: 00:04:59.275: gabble_vcard_manager_dispose (../src/vcard-manager.c:546): 0x55555570da80
(telepathy-gabble:372456): gabble-DEBUG: 00:04:59.275: delete_request (../src/vcard-manager.c:730): Discarding request 0x555555ea26a0
(telepathy-gabble:372456): gabble-DEBUG: 00:04:59.275: cache_entry_attempt_to_free (../src/vcard-manager.c:451):
(telepathy-gabble:372456): GLib-CRITICAL **: 00:04:59.276: g_hash_table_foreach: assertion 'version == hash_table->version' failed
Thread 1 "telepathy-gabbl" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7e112e3 in g_logv () from /usr/lib/libglib-2.0.so.0
(gdb)
(gdb) bt
#0 0x00007ffff7e112e3 in g_logv () at /usr/lib/libglib-2.0.so.0
#1 0x00007ffff7e11560 in g_log () at /usr/lib/libglib-2.0.so.0
#2 0x00005555555ebfe0 in gabble_vcard_manager_dispose (object=0x55555570da80) at ../src/vcard-manager.c:560
#3 0x00007ffff7bbd785 in g_object_unref () at /usr/lib/libgobject-2.0.so.0
#4 0x00005555555b99fd in gabble_connection_dispose (object=0x5555557064f0) at ../src/connection.c:1341
#5 0x00007ffff7bbd785 in g_object_unref () at /usr/lib/libgobject-2.0.so.0
#6 0x00007ffff7bcde68 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#7 0x00007ffff7bce210 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#8 0x00005555555bce82 in closed_cb (source=0x5555556e2460, res=0x5555556deb30, user_data=0x5555557064f0) at ../src/connection.c:2511
#9 0x00007ffff7c983d4 in () at /usr/lib/libgio-2.0.so.0
#10 0x00007ffff7c9c7b9 in () at /usr/lib/libgio-2.0.so.0
#11 0x00007ffff7f3d8d1 in complete_close (self=0x5555556e2460, error=0x0) at ../subprojects/wocky/wocky/wocky-c2s-porter.c:864
#12 0x00007ffff7f3e660 in remote_connection_closed (self=0x5555556e2460, error=0x555555f26860) at ../subprojects/wocky/wocky/wocky-c2s-porter.c:1293
#13 0x00007ffff7f4032f in stanza_received_cb (source=0x555555d28430, res=0x5555557661a0, user_data=0x5555556e2460) at ../subprojects/wocky/wocky/wocky-c2s-porter.c:1844
#14 0x00007ffff7c983d4 in () at /usr/lib/libgio-2.0.so.0
#15 0x00007ffff7c9c7b9 in () at /usr/lib/libgio-2.0.so.0
#16 0x00007ffff7f8a5ac in _xmpp_connection_received_data (source=0x7fffdc003310, result=0x555555d73980, user_data=0x555555d28430) at ../subprojects/wocky/wocky/wocky-xmpp-connection.c:514
Which means GHashTable is modified in the foreach loop, which is not allowed. The debug trace below has additional debug injected into control points touching the table - namely
cache_entry_attempt_to_free (../src/vcard-manager.c:451)