| Summary: | tp_account_manager_ensure_account: crash if manager is disposed while preparing | ||
|---|---|---|---|
| Product: | Telepathy | Reporter: | Guillaume Desmottes <guillaume.desmottes> |
| Component: | tp-glib | 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://git.collabora.co.uk/?p=user/cassidy/telepathy-glib;a=shortlog;h=refs/heads/account-crash-31321 | ||
| Whiteboard: | review+ | ||
| i915 platform: | i915 features: | ||
Looks good. I want to do a release soon, so I might merge this myself. Merged to master (for 0.13.4) and 0.12 (for 0.12.3). 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.
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