Summary: | Crash in TpBaseClient | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Xavier Claessens <xclaesse> |
Component: | tp-glib | Assignee: | Telepathy bugs list <telepathy-bugs> |
Status: | RESOLVED MOVED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
URL: | http://cgit.collabora.com/git/user/xclaesse/telepathy-glib.git/log/?h=empathy-chat | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Xavier Claessens
2012-06-26 05:52:55 UTC
Found the root cause! It hit g_return_val_if_fail (TP_IS_ACCOUNT (account), NULL); in empathy_tp_chat_new(). In that case indeed NULL channel is returned and no error is provided. This is because tp_connection_get_account() returns NULL because the TpAccount does not know its Connection yet. This is because in HandleChannels we create both TpAccount and TpConnection objects but we need to wait for TpAccount to prepare CORE before it calls _tp_connection_set_account(). This crash does not happen when empathy-chat is already started because empathy-chat loads a full Folks aggregator, so it has the time to prepare CORE on all TpAccount before HandleChannel happens. I think TpBaseClient should prepare TpAccount and TpConnection before creating the TpChannel. I think it is reasonable to consider that TpChannel's constructor assert that its TpConnection is already prepared (atm it doesn't, TpChannel even prepare CORE on its connection as part of TpChannel's CORE feature). Here is a fix in tp-glib: http://cgit.collabora.com/git/user/xclaesse/telepathy-glib.git/log/?h=empathy-chat The patch has vanished. Is it still applicable? Did this get fixed? ... Looks as though this may have been fixed in 0.19.3. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-glib/issues/96. |
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.