Bug 31321

Summary: tp_account_manager_ensure_account: crash if manager is disposed while preparing
Product: Telepathy Reporter: Guillaume Desmottes <guillaume.desmottes>
Component: tp-glibAssignee: 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://git.collabora.co.uk/?p=user/cassidy/telepathy-glib;a=shortlog;h=refs/heads/account-crash-31321
Whiteboard: review+
i915 platform: i915 features:

Description Guillaume Desmottes 2010-11-02 06:53:55 UTC
If the account manager is destroyed while   tp_account_prepare_async (account, fs, _tp_account_manager_account_ready_cb, manager); is running, we hit this crash in the callback.



GLib-GObject-WARNING **: invalid unclassed pointer in cast to `TpAccountManager'
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007fffefb2fc88 in g_logv (log_domain=0x7ffff04586d0 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, 
    format=0x7ffff0459e60 "invalid unclassed pointer in cast to `%s'", args1=0x7fffffffdf40) at gmessages.c:553
553			G_BREAKPOINT ();
(gdb) bt
#0  0x00007fffefb2fc88 in g_logv (log_domain=0x7ffff04586d0 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, 
    format=0x7ffff0459e60 "invalid unclassed pointer in cast to `%s'", args1=0x7fffffffdf40) at gmessages.c:553
#1  0x00007fffefb2fdf2 in g_log (log_domain=0x7ffff04586d0 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, 
    format=0x7ffff0459e60 "invalid unclassed pointer in cast to `%s'") at gmessages.c:577
#2  0x00007ffff044a32a in g_type_check_instance_cast (type_instance=0x890a90, iface_type=9192384) at gtype.c:3991
#3  0x00007ffff32eed04 in _tp_account_manager_account_ready_cb (source_object=0x8cd000, res=0x8c1700, user_data=0x890a90) at account-manager.c:811
#4  0x00007ffff1bb8fb2 in g_simple_async_result_complete (simple=0x8c1700) at gsimpleasyncresult.c:692
#5  0x00007ffff1bb8fee in complete_in_idle_cb (data=0x8c1700) at gsimpleasyncresult.c:702
#6  0x00007fffefb28560 in g_idle_dispatch (source=0x8ab3d0, callback=0x7ffff1bb8fbb <complete_in_idle_cb>, user_data=0x8c1700) at gmain.c:4254
#7  0x00007fffefb24714 in g_main_dispatch (context=0x6af920) at gmain.c:2149
#8  0x00007fffefb25c1e in g_main_context_dispatch (context=0x6af920) at gmain.c:2702
#9  0x00007fffefb260e4 in g_main_context_iterate (context=0x6af920, block=1, dispatch=1, self=0x65d040) at gmain.c:2780
#10 0x00007fffefb2687b in g_main_loop_run (loop=0x8ae2f0) at gmain.c:2988
#11 0x00007ffff26ec050 in gtk_main () at gtkmain.c:1321
#12 0x00007ffff25dc11f in gtk_application_run_mainloop (application=0x8823a0) at gtkapplication.c:84
#13 0x00007ffff1be9825 in g_application_run (application=0x8823a0, argc=1, argv=0x7fffffffe558) at gapplication.c:1081
#14 0x0000000000418477 in main (argc=1, argv=0x7fffffffe558) at empathy-av.c:158
Comment 2 Simon McVittie 2010-11-03 05:06:11 UTC
Looks good. I want to do a release soon, so I might merge this myself.
Comment 3 Guillaume Desmottes 2010-11-03 05:39:03 UTC
Merged to master (for 0.13.4) and 0.12 (for 0.12.3).
Comment 4 Simon McVittie 2010-11-03 05:43:49 UTC
Oops, duelling merges... but yes, definitely merged :-P

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.