After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 558364 - segfault when joining room
segfault when joining room
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: General
unspecified
Other Linux
: Normal critical
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2008-10-29 09:37 UTC by Frederic Peters
Modified: 2008-11-28 10:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Frederic Peters 2008-10-29 09:37:23 UTC
I clicked on Room / whatever@conferences.jabber.org and Empathy segfaulted.

  • #0 connection_request_handles_cb
    at empathy-utils.c line 729
  • #0 connection_request_handles_cb
    at empathy-utils.c line 729
  • #1 ??
    from /usr/lib/libtelepathy-glib.so.0
  • #2 ??
  • #3 ??
  • #4 ??

I archivesd empathy and gabble log if you want.
Comment 1 Frederic Peters 2008-10-29 22:52:16 UTC
Traceback with telepathy debug packages installed:

  • #0 connection_request_handles_cb
    at empathy-utils.c line 729
  • #0 connection_request_handles_cb
    at empathy-utils.c line 729
  • #1 _tp_cli_connection_invoke_callback_request_handles
    at _gen/tp-cli-connection-body.h line 3304
  • #2 tp_proxy_pending_call_idle_invoke
    at proxy-methods.c line 153
  • #3 ??
    from /usr/lib/libglib-2.0.so.0
  • #4 ??
  • #5 ??
  • #6 ??
  • #7 ??
    from /usr/lib/libglib-2.0.so.0

Comment 2 Frederic Peters 2008-10-29 23:18:22 UTC
The action is different but the resulting trace looks similar to the one in bug 548683.

As evidenced by the failing line, the problem is handles->len == 0.

(gdb) p handles->len
$1 = 0

I hacked around the crash with if (!handles->len) return; so I could make some tests without crash.

I looked at Gabble logs; this is the moment when the invitation is sent:

** (telepathy-gabble:29311): DEBUG: new_muc_channel: creating new chan, object path /org/freedesktop/Telepathy/Connection/gabble/jabber/fpeters_40im_2elibre_2dentreprise_2ecom_2fTelepathy/MucChannel1
tp_group_mixin_change_flags: emitting group flags changed
  added    : [CAN_ADD]
  removed  : []
  flags now: [CAN_ADD]
tp_group_mixin_change_members: emitting members changed
  message       : ""
  added         : [60 (fpeters@jabber.org)]
  removed       : []
  local_pending : [64 (panik@conference.jabber.org/fpeters)]
  remote_pending: []
  actor         : 60
  reason        : 4: invited
** (telepathy-gabble:29311): DEBUG: muc_ready_cb: chan=0x8320008
(telepathy-gabble:29311): tp-glib-DEBUG: satisfy_requests: called for /org/freedesktop/Telepathy/Connection/gabble/jabber/fpeters_40im_2elibre_2dentreprise_2ecom_2fTelepathy/MucChannel1
** (telepathy-gabble:29311): DEBUG: activity_info_new: panik@conference.jabber.org (1)

(telepathy-gabble:29311): tp-glib-DEBUG: tp_presence_mixin_get_presence: called.
(telepathy-gabble:29311): tp-glib-DEBUG: construct_presence_hash: called.


And here are the empathy.log

(lt-empathy:29431): tp-glib-DEBUG: tp_channel_init: 0x89359f8
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.Telepathy.Channel DBusGProxy is 0x8927b38
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_constructor: 0x89359f8: constructed with channel type "org.freedesktop.Telepathy.Channel.Type.Text", handle #1 of type 2
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_interfaces_cb: - org.freedesktop.Telepathy.Channel.Interface.Group
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_interfaces_cb: - org.freedesktop.Telepathy.Channel.Interface.Password
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_interfaces_cb: - org.freedesktop.Telepathy.Properties
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_interfaces_cb: - org.freedesktop.Telepathy.Channel.Interface.ChatState
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.Telepathy.Channel.Interface.Group DBusGProxy is 0x89402f8
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.DBus.Properties DBusGProxy is 0x88fc360
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_group_properties_cb: Got group properties, but no Properties flag: assuming a broken implementation and falling back to 0.16 API
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_group_flags_0_16_cb: Initial GroupFlags: 1281
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_self_handle_0_16_cb: Initial Group.SelfHandle: 64
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_group_self_handle_changed_cb: 0x89359f8 SelfHandle changed to 64
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_got_all_members_0_16_cb: 0x89359f8 GetAllMembers returned 1 members + 1 LP + 0 RP
(lt-empathy:29431): tp-glib-DEBUG: tp_channel_glpmwi_0_16_cb: 0x89359f8 GetLocalPendingMembersWithInfo returned 1 records
(lt-empathy:29431): tp-glib-DEBUG: _tp_channel_group_set_lp: +L 64, actor=60, reason=4, message=
(lt-empathy:29431): tp-glib-DEBUG: _tp_channel_continue_introspection: 0x89359f8: channel ready

** (lt-empathy:29431): CRITICAL **: empathy_chatroom_manager_find: assertion `room != NULL' failed
** (lt-empathy:29431): DEBUG: tp_chat_channel_ready_cb: Channel ready
** (lt-empathy:29431): DEBUG: empathy_run_until_ready_full: Starting run until ready for object 0x8940330
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed for list panik@conference.jabber.org:
  added-len=0, current-len=0
  removed-len=0
  local-pending-len=1, current-len=0
  remote-pending-len=0, current-len=0
** (lt-empathy:29431): DEBUG: tp_contact_factory_add_contact: Contact added: (null) (64)
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed done for list panik@conference.jabber.org:
  members-len=0
  local-pendings-len=1
  remote-pendings-len=0
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed for list panik@conference.jabber.org:
  added-len=0, current-len=0
  removed-len=0
  local-pending-len=0, current-len=1
  remote-pending-len=0, current-len=0
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed done for list panik@conference.jabber.org:
  members-len=0
  local-pendings-len=1
  remote-pendings-len=0
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed for list panik@conference.jabber.org:
  added-len=1, current-len=0
  removed-len=0
  local-pending-len=0, current-len=1
  remote-pending-len=0, current-len=0
** (lt-empathy:29431): DEBUG: tp_group_update_members: Members changed done for list panik@conference.jabber.org:
  members-len=1
  local-pendings-len=1
  remote-pendings-len=0
** (lt-empathy:29431): DEBUG: tp_group_get_members_cb: Ready
** (lt-empathy:29431): DEBUG: run_until_ready_cb: Object 0x8940330 is ready
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.Telepathy.Properties DBusGProxy is 0x8947da0
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.Telepathy.Channel.Type.Text DBusGProxy is 0x89382e8
(lt-empathy:29431): tp-glib-DEBUG: tp_proxy_borrow_interface_by_id: 0x89359f8: org.freedesktop.Telepathy.Channel.Interface.ChatState DBusGProxy is 0x893dc10
** (lt-empathy:29431): DEBUG: tp_contact_factory_parse_presence_foreach: Changing presence for contact panik@conference.jabber.org/fpeters (64) to '(null)' (1)
** (lt-empathy:29431): DEBUG: tp_contact_factory_request_aliases_cb: Renaming contact panik@conference.jabber.org/fpeters (64) to fpeters (request cb)
** (lt-empathy:29431): DEBUG: tp_contact_factory_get_known_avatar_tokens_cb: Got 0 tokens, need to request 0 avatars
** (lt-empathy:29431): DEBUG: tp_contact_factory_update_capabilities: Changing capabilities for contact panik@conference.jabber.org/fpeters (64) to 0
** (lt-empathy:29431): DEBUG: tp_chat_list_properties_cb: Adding property name=anonymous id=0 flags=0
** (lt-empathy:29431): DEBUG: tp_chat_list_properties_cb: Adding property name=invite-only id=1 flags=0
** (lt-empathy:29431): DEBUG: tp_chat_list_properties_cb: Adding property name=invite-restricted id=2 flags=0
(...)

Note no new Empathy window appear at this time (bug 558365).
Comment 3 Frederic Peters 2008-11-28 10:32:53 UTC
It looks like it has been fixed.