GNOME Bugzilla – Bug 662211
contact_list_store_contact_active_cb may be called after the destruction of the store
Last modified: 2011-10-24 14:57:59 UTC
The chat window gets expanded horizontally to fit the freshly typed message (in one line) instead of continuing it on a new line if the contact list is visible in that chat window. Once the contact list has been disabled using the menu bar, the entry widget works as expected. While investigating this, I found another problem but I'm not sure if they're related, so I don't open another report for it: First, I got the following error log only when I typed into the text entry /right after/ disabling the chat window's contact list and the chat window vanished. I could simply reopen it though. Then, the problem also occurred once when I typed a very long test message after waiting a bit after disabling the contact list. mcd-DEBUG: 19.10.2011 17:57:47.824481: _mcd_handler_map_set_handler_crashed: /org/freedesktop/Telepathy/Connection/gabble/jabber/tanuva_40jabber_2eblacklight_2dit_2ecom_2fd_2da318/MucChannel1 lost its handler :1.167 mcd-DEBUG: 19.10.2011 17:57:47.824534: _mcd_handler_map_set_handler_crashed: Closing channel /org/freedesktop/Telepathy/Connection/gabble/jabber/tanuva_40jabber_2eblacklight_2dit_2ecom_2fd_2da318/MucChannel1 mcd-DEBUG: 19.10.2011 17:57:47.830059: on_members_changed: called (actor 0, reason 0, self_handle 2, conn_self_handle 1) mcd-DEBUG: 19.10.2011 17:57:47.830108: on_members_changed: removed member 2 mcd-DEBUG: 19.10.2011 17:57:47.861365: proxy_destroyed: Channel proxy invalidated: tp_errors 29: (no message provided) mcd-DEBUG: 19.10.2011 17:57:47.861413: mcd_channel_abort: 0x15dc980 mcd-DEBUG: 19.10.2011 17:57:47.861445: _mcd_channel_set_status: 0x15dc980, 7 mcd-DEBUG: 19.10.2011 17:57:47.861490: _mcd_mission_set_parent: child = 0x15dc980, parent = (nil) mcd-DEBUG: 19.10.2011 17:57:47.861531: _mcd_operation_remove_mission: removing mission: 0x15dc980 mcd-DEBUG: 19.10.2011 17:57:47.861565: _mcd_channel_dispose: 0x15dc980 (is disposed = 0) mcd-DEBUG: 19.10.2011 17:57:47.861599: _mcd_mission_dispose: mission disposed 0x15dc980 mcd-DEBUG: 19.10.2011 17:57:47.861635: _mcd_request_dispose: 0x15cf4d0 mcd-DEBUG: 19.10.2011 17:57:47.861675: _mcd_request_finalize: 0x15cf4d0 mcd-DEBUG: 19.10.2011 17:57:47.861711: _mcd_mission_finalize: mission finalized 0x15dc980 This is very strange. Could someone try and see if I'm just the only one? On #gnome3, no one had heard of the problem.
The expand problem is bug #587441. The other one looks like a crash. Could you please provide a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
I've tried getting a stack trace by running /usr/bin/empathy in gdb. Once I reproduce the bug (gets more difficult now, I have absolutely no idea what might trigger it except something with the contact list), gdm doesn't notice a crash and the contact list stays open. Its just the chat window (with multiple tabs open: 1on1 chats, jabber/irc chatrooms) that disappears. What do I need to track to see what happens in there?
Yeah that's the empathy-chat process, not empathy: /usr/lib/empathy/empathy-chat
Created attachment 199553 [details] Backtrace of the crash
could you please install empathy-dbg libglib2.0-0-dbg libgtk-3-0-dbg and get a new trace? Yours doesn't have debug symbols.
Created attachment 199625 [details] Backtrace of the crash (with glib2 debug symbols) Sorry, I hoped having empathy debug symbols would be enough. Now also with glib2 symbols.
Created attachment 199639 [details] [review] contact_list_store_dispose: unset the timer ids
Created attachment 199640 [details] [review] ensure that contact_list_store_contact_active_cb isn't called after the store destruction This is an exact port of similar code from empathy-individual-store.
Review of attachment 199639 [details] [review]: ++
Review of attachment 199640 [details] [review]: ++
Attachment 199639 [details] pushed as d9c10ab - contact_list_store_dispose: unset the timer ids Attachment 199640 [details] pushed as 2783147 - ensure that contact_list_store_contact_active_cb isn't called after the store destruction