Bug 26995 - Crash in probation timeout callback after disconnecting
Summary: Crash in probation timeout callback after disconnecting
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: mission-control (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-10 04:36 UTC by Jonny Lamb
Modified: 2010-09-13 03:15 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Jonny Lamb 2010-03-10 04:36:05 UTC
I disconnected an account, and (roughly around that time) MC crashed.

Program received signal SIGSEGV, Segmentation fault.
0xb7f884e6 in tp_proxy_get_object_path (self=0x0) at proxy.c:1157
1157	proxy.c: No such file or directory.
	in proxy.c
(gdb) bt full
#0  0xb7f884e6 in tp_proxy_get_object_path (self=0x0) at proxy.c:1157
No locals.
#1  0x08067a71 in mcd_connection_probation_ended_cb (user_data=0x8098548) at mcd-connection.c:1010
        __PRETTY_FUNCTION__ = "mcd_connection_probation_ended_cb"
#2  0xb7da11ec in g_timeout_dispatch (source=0x80d42b0, callback=0, user_data=0x8098548)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:3396
No locals.
#3  0xb7da0b38 in g_main_dispatch (context=0x8094308) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:1960
        dispatch = 0xb7da11c0 <g_timeout_dispatch>
        user_data = 0x8098548
        callback = 0x8067a50 <mcd_connection_probation_ended_cb>
        cb_funcs = 0xb7e1c4bc
        cb_data = 0x80f5a60
        current_source_link = {data = 0x80d42b0, next = 0x0}
        source = 0x80d42b0
        current = 0x8090a00
        i = 0
#4  IA__g_main_context_dispatch (context=0x8094308) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2513
No locals.
#5  0xb7da43d0 in g_main_context_iterate (context=0x8094308, block=<value optimized out>, dispatch=1, self=0x8095d28)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2591
        max_priority = 2147483647
        timeout = 881
        some_ready = 1
        nfds = <value optimized out>
        allocated_nfds = <value optimized out>
        fds = <value optimized out>
        __PRETTY_FUNCTION__ = "g_main_context_iterate"
#6  0xb7da483f in IA__g_main_loop_run (loop=0x80982a8) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2799
        self = 0x8095d28
        __PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#7  0x080513ef in main (argc=<value optimized out>, argv=<value optimized out>) at mc-server.c:81
        mcd = <value optimized out>

I've been playing the same connect/disconnect dance for quite a while now with MC in gdb, and it's only happened once, so I reckon reproducing it will be extremely hard. It looks like the probation timeout was activated perhaps /just/ at the time of the disconnection, or at least before the source could be removed?

Version: 5.3.2-2 (Debian unstable)
Comment 1 Simon McVittie 2010-09-13 03:15:51 UTC
I believe Vivek fixed this in git for 5.5.4.


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.