[Bug 31412] Telepathy-Gabble crashes when changing the resource value

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Nov 5 15:48:41 CET 2010


https://bugs.freedesktop.org/show_bug.cgi?id=31412

--- Comment #1 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-11-05 07:48:41 PDT ---
(From update of attachment 40065)
The fact that you're changing the resource doesn't look relevant: the backtrace
indicates that you're disconnecting, which is done (among other things) as a
side-effect of changing the resource.

>Thread 1 (Thread 30102):
>#0  gabble_request_pipeline_enqueue (pipeline=0x0, msg=0xb6e03118, timeout=180, callback=0x80eff30 <pipeline_reply_cb>, user_data=0x9978740) at request-pipeline.c:405
>        priv = <value optimized out>
>        item = <value optimized out>
>        __PRETTY_FUNCTION__ = "gabble_request_pipeline_enqueue"
>#1  0x080ed527 in request_send (request=0x9978740, timeout=180) at vcard-manager.c:1519
>        jid = <value optimized out>
>        msg = <value optimized out>
>        entry = 0x9903080
>        conn = 0x96701c8
>        base = 0x96701c8
>        contact_repo = <value optimized out>
>        __PRETTY_FUNCTION__ = "request_send"
>#2  0x080ee808 in gabble_vcard_manager_request (self=0x9672500, handle=11, timeout=180, callback=0, user_data=0x0, object=0x96701c8) at vcard-manager.c:1579
>        priv = <value optimized out>
>        connection = <value optimized out>
>        contact_repo = <value optimized out>
>        request = 0x9978740
>        entry = <value optimized out>
>        __PRETTY_FUNCTION__ = "gabble_vcard_manager_request"
>#3  0x080aabbe in aliases_request_basic_pep_cb (self=0x96701c8, msg=0x0, user_data=0xb, error=0xbf83ebb4) at conn-aliasing.c:259
>        source = <value optimized out>
>        handle = 11
>#4  0x080a94a8 in pep_request_cb (conn=0x96701c8, msg=0x0, user_data=0x9891a40, error=0xbf83ebb4) at conn-aliasing.c:326
>        ctx = 0x9891a40
>#5  0x080df85b in gabble_request_pipeline_dispose (object=0x9652e60) at request-pipeline.c:237
>        self = 0x9652e60
>        priv = 0x9652e70
>        disconnected = {domain = 510, code = 5, message = 0x815fe5c "Request failed because connection became disconnected"}
>        item = <value optimized out>
>        __PRETTY_FUNCTION__ = "gabble_request_pipeline_dispose"
>#6  0x00cce073 in g_object_unref (_object=0x9652e60) at gobject.c:2658
>        object = 0x9652e60
>        old_ref = 1
>        __PRETTY_FUNCTION__ = "g_object_unref"
>#7  0x080ae340 in gabble_connection_dispose (object=0x96701c8) at connection.c:1085
>        _tp_clear_pointer_tmp = <value optimized out>
>        self = 0x96701c8
>        base = 0x96701c8
>        priv = 0x96702c8
>        __PRETTY_FUNCTION__ = "gabble_connection_dispose"

While destroying the connection, we destroy the request pipeline.

When the request pipeline is destroyed, it notifies everything that had a
request in the queue. Here, there's a request for an alias from PEP.

When a request from an alias from PEP fails, the aliasing code falls back to
requesting the vCard instead.

That request is enqueued in the request pipeline... but we just destroyed that,
*crash*.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list