| Summary: | Gabble is crashing when contacts are invited to or when the user invited by some one for a Multi User chat room | ||
|---|---|---|---|
| Product: | Telepathy | Reporter: | Siraj Razick <siraj> |
| Component: | gabble | Assignee: | Telepathy bugs list <telepathy-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
| Severity: | normal | ||
| Priority: | medium | Keywords: | patch |
| Version: | unspecified | ||
| Hardware: | Other | ||
| OS: | All | ||
| URL: | http://cgit.collabora.com/git/user/wjt/telepathy-gabble-wjt.git/commit/?h=fd.o-37165-crash-on-muc-invite | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: | Explicitly cast to guint64 when passing varargs | ||
I still observe this with gabble master :'( even with the fix done by Jonny Lamb 5ba21edcf88ef60be5558acc0b0259b5f29e98e9) .. Created attachment 47110 [details] [review] Explicitly cast to guint64 when passing varargs Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=37165> (In reply to comment #2) > Created an attachment (id=47110) [details] > Explicitly cast to guint64 when passing varargs > > Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=37165> works! Committed a version of the attached patch with a typo fixed, an explanation added in the commit message, and the title of the commit cleverly left incorrect: http://cgit.freedesktop.org/telepathy/telepathy-gabble/commit/?id=5bfe3ede2c17b7dd10d258e5661892967cabcc60 Thanks for the report! |
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.
PRECONDITIONS: a.) Telepathy-glib 0.14.5 and gabble from master has to be installed and running b.) You should have a gtalk account configured. c.) The account should be online. *Empathy can be used to reproduce this bug. STEPS LEADING TO PROBLEM: (in Empathy) 1.) Click Chat and start a conversation with user A 2.) On the chat Message window Click Conversation and click on Invite Participant Action. 3.) Enter a name of another Contact say B. Expected: A Chat room window is open with both Contact A and Contact B in it. Actual Outcome: Gabble Crashes BackTraces: (gdb) bt #0 0xb7a33fcd in g_type_check_is_value_type () from /usr/lib/libgobject-2.0.so.0 #1 0xb7a3a890 in g_value_init () from /usr/lib/libgobject-2.0.so.0 #2 0xb7d1d586 in tp_value_array_build (length=3, type=64) at util.c:1116 #3 0x080e5698 in gabble_muc_channel_constructed (obj=0x83c7890) at muc-channel.c:510 #4 0xb7a1b01c in g_object_newv () from /usr/lib/libgobject-2.0.so.0 #5 0xb7a1b9bc in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #6 0xb7a1bad7 in g_object_new () from /usr/lib/libgobject-2.0.so.0 #7 0x080e8e43 in new_muc_channel (fac=<value optimized out>, handle=<value optimized out>, invited=1, inviter=9, message=0x81f42c0 "You've been invited to this chat room!", requested=0, initial_channels=0x0, initial_handles=0x81a9148, initial_ids=0x0, room_id=0x0) at muc-factory.c:490 #8 0x080e91ef in do_invite (fac=<value optimized out>, room=0x81de6c0 "private-chat-9034f10d-4501-4248-b576-9bb1ce97d5bd@groupchat.google.com", inviter_handle=9, reason=0x81f42c0 "You've been invited to this chat room!") at muc-factory.c:551 #9 0x080ebd30 in process_muc_invite (handler=0x81d6018, connection=0x81cc380, message=0x83a3780, user_data=0x81b3a70) at muc-factory.c:690 #10 muc_factory_message_cb (handler=0x81d6018, connection=0x81cc380, message=0x83a3780, user_data=0x81b3a70) at muc-factory.c:814 #11 0x080909e4 in stanza_cb (self=0x81bac78, stanza=0x83a3780, user_data=0x81d6018) at lm-connection.c:32 #12 0x08097a5c in handle_stanza (self=<value optimized out>, stanza=<value optimized out>) at wocky-c2s-porter.c:979 #13 0x08099fb2 in queue_or_handle_stanza (source=0x838cc60, res=0x81ef130, user_data=0x81bac78) at wocky-c2s-porter.c:1083 #14 stanza_received_cb (source=0x838cc60, res=0x81ef130, user_data=0x81bac78) at wocky-c2s-porter.c:1271 #15 0xb7acc57f in g_simple_async_result_complete () from /usr/lib/libgio-2.0.so.0 #16 0x080958f5 in _xmpp_connection_received_data (source=0x81da120, result=0x81ef050, user_data=0x838cc60) at wocky-xmpp-connection.c:561 #17 0xb7abbf9f in ?? () from /usr/lib/libgio-2.0.so.0 #18 0xb7acc57f in g_simple_async_result_complete () from /usr/lib/libgio-2.0.so.0 #19 0x081053ff in wocky_tls_job_result_gssize (job=<value optimized out>, result=136159520) at wocky-tls.c:359 #20 0xb7abbf9f in ?? () from /usr/lib/libgio-2.0.so.0 #21 0xb7acc57f in g_simple_async_result_complete () from /usr/lib/libgio-2.0.so.0 #22 0xb7ad51d6 in ?? () from /usr/lib/libgio-2.0.so.0 #23 0xb7acd634 in ?? () from /usr/lib/libgio-2.0.so.0 #24 0xb7964855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #25 0xb7968668 in ?? () from /lib/libglib-2.0.so.0 #26 0xb7968ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0 #27 0xb7d13d7f in tp_run_connection_manager (prog_name=0x8159f18 "telepathy-gabble", version=0x816f3f0 "0.12.999.1", construct_cm=0x806ffa0 <construct_cm>, argc=1, argv=0xbffff484) at run.c:285 #28 0x0806ff41 in gabble_main (argc=1, argv=0xbffff484) at gabble.c:177 #29 0x0806fde0 in main (argc=1, argv=0xbffff484) at main.c:28 ======= Values of Data passed when gabble_muc_channel is created : chan = g_object_new (GABBLE_TYPE_MUC_CHANNEL, "connection", priv->conn, : $12 = (GabbleConnection *) 0x81cc040 "object-path", object_path, $13 = 0x83bd058 "/org/freedesktop/Telepathy/Connection/gabble/jabber/collabora_2etest_40gmail_2ecom_2f540bbe1d/MucChannel1" "handle", handle, : $14 = <value optimized out> "invited", invited, $15 = 0 "initiator-handle", invited ? inviter : conn->self_handle, (invited = 0, inviter = 1 "invitation-message", message, $18 = (const gchar *) 0x0 "requested", requested, $19 = 1 "initial-channels", initial_channels_array, $23 = {pdata = 0x81d5f20, len = 1} "initial-invitee-handles", initial_handles,$25 = {data = 0x83b97e8 "\002", len = 2} "initial-invitee-ids", initial_ids, $27 = 0x81b0f30 "shaheeqa.raouf@gmail.com" "room-id", room_id,$27 = $28 = 0x0 ================= more details of priv and conn->conn passed ==== p *priv $33 = {conn = 0x81cc040, status_changed_id = 21, message_cb = 0x81d4f18, text_channels = 0x81d00f0, text_needed_for_tubes = 0x81d0120, tubes_needed_for_tube = 0x81d0150, disco_requests = 0x81d0180, queued_requests = 0x81d01b0, dispose_has_run = 0} (gdb) (gdb) p *priv->conn $34 = {parent = {parent = {g_type_instance = {g_class = 0x81c7290}, ref_count = 13, qdata = 0x81c9f70}, bus_name = 0x81da000 "org.freedesktop.Telepathy.Connection.gabble.jabber.collabora_2etest_40gmail_2ecom_2f540bbe1d", object_path = 0x81c6870 "/org/freedesktop/Telepathy/Connection/gabble/jabber/collabora_2etest_40gmail_2ecom_2f540bbe1d", status = TP_CONNECTION_STATUS_CONNECTED, self_handle = 1, _future1 = 0x0, _future2 = 0x0, _future3 = 0x0, _future4 = 0x0, priv = 0x81cc100}, presence = {priv = 0x0}, contacts = {priv = 0x81d56b8}, daemon = 0x81b2c58, lmconn = 0x81cb380, session = 0x81d7a00, roster = 0x81cf848, muc_factory = 0x81b2a70, private_tubes_factory = 0x81b1940, disco = 0x81d2460, features = 419, presence_cache = 0x81b8c50, self_presence = 0x81d9800, presence_priv = 0x81b1aa0, req_pipeline = 0x81b1a00, vcard_manager = 0x81b2aa8, olpc_activities_info = 0x81d4380, olpc_pep_activities = 0x81d43b0, olpc_invited_activities = 0x81d4400, olpc_current_act = 0x81d4430, bytestream_factory = 0x81b8ca0, avatar_requests = 0x81d8490, vcard_requests = 0x81d84c0, jingle_factory = 0x81b7108, ft_manager = 0x81b1990, pep_nick = 0x81d4350, pep_location = 0x81d4520, pep_olpc_buddy_props = 0x81d4460, pep_olpc_activities = 0x81d4490, pep_olpc_current_act = 0x81d44c0, pep_olpc_act_props = 0x81d44f0, sidecars = 0x81d4550, pending_sidecars = 0x81d4580, mail_priv = 0x81d2760, contact_info_fields = 0x81d5280, priv = 0x81cc148}