GNOME Bugzilla – Bug 598549
import from pidgin fails for two identical nicks on two IRC networks
Last modified: 2009-12-17 10:57:02 UTC
mission control 5 crashes (with no stacktrace though) when importing accounts from pidgin. I have two IRC accounts with the same nick on freenode and gnome.net which are displayed identically in the import window. If I uncheck either one importing goes fine, if I leave both there mc5 crashes and empathy silently fails to import anything.
the reason I assume mc crashes is that it leaves the accounts config file started but does not write anything useful in it, and apport says so (and also that it cannot get a trace)
Just tried with Empathy master and telepathy-mission-control 5.3.2 and that worked fine. Please reopen if you can reproduce with those versions.
It happens with empathy and mc5 git head. mc5 crashes because it tries to register an existing dbus gobject (empathy uses the same nick for both accounts) here's the last bits of mc5 output with MC_DEBUG=all (process:5853): mcd-DEBUG: _mcd_account_manager_create_account: called (process:5853): mcd-DEBUG: _mcd_account_constructed: 0x86fd418 (idle/irc/janimo0) (process:5853): tp-glib/proxy-DEBUG: tp_dbus_daemon_watch_name_owner: Adding match rule type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.Telepathy.ConnectionManager.idle' (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_find_manager_file: in XDG_DATA_HOME: trying /home/jani/.local/share/telepathy/managers/idle.manager (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_find_manager_file: in XDG_DATA_DIRS: trying /usr/share/gnome/telepathy/managers/idle.manager (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_find_manager_file: in XDG_DATA_DIRS: trying /usr/local/share//telepathy/managers/idle.manager (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_find_manager_file: in XDG_DATA_DIRS: trying /usr/share//telepathy/managers/idle.manager (process:5853): mcd-DEBUG: mcd_manager_setup: Manager idle created (process:5853): mcd-DEBUG: _mcd_mission_set_parent: child = 0x86f0488, parent = 0x86ea410 (process:5853): mcd-DEBUG: _mcd_account_manager_create_account: called (process:5853): mcd-DEBUG: _mcd_account_constructed: 0x86fd490 (idle/irc/janimo0) (process:5853): tp-glib/proxy-DEBUG: _tp_dbus_daemon_get_name_owner_idle: GetNameOwner(org.freedesktop.Telepathy.ConnectionManager.idle) raised org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.freedesktop.Telepathy.ConnectionManager.idle': no such name (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Protocol irc (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: account (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x1 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: NULL of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: server (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x1 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: NULL of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: fullname (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x0 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: NULL of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: port (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x4 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: q (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: 6667 of type guint (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: password (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x8 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: NULL of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: charset (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x4 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: "UTF-8" of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: quit-message (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x0 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: s (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: NULL of type gchararray (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param name: use-ssl (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param flags: 0x4 (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param sig: b (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_read_file: Param default value: FALSE of type gboolean (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_idle_read_manager_file: Read /usr/share//telepathy/managers/idle.manager (process:5853): tp-glib/manager-DEBUG: tp_connection_manager_idle_read_manager_file: Got info from file (process:5853): mcd-DEBUG: on_manager_ready: manager idle is ready (process:5853): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo0 (process:5853): mcd-DEBUG: _mcd_account_set_parameters: called (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param account (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param server (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param port (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param password (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param use-ssl (process:5853): mcd-DEBUG: _mcd_account_maybe_autoconnect: idle/irc/janimo0 not Enabled (process:5853): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo0 (process:5853): mcd-DEBUG: _mcd_account_set_parameters: called (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param account (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param server (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param port (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param password (process:5853): mcd-DEBUG: set_parameters_iter_param: Got param use-ssl ** ERROR **: Failed to register GObject with DBusConnection aborting... Trace/breakpoint trap (core dumped)
I am not sure the unique account name creation which seems to confuse MC5 is to be done in empathy, tp-glib or MC5. But right now it seems that the unique name is created by catting cm, proto and nick which in case of two IRC channels using the same nick are not yielding different display names.
Which version of telepathy-idle are you using? This could be related to http://bugs.freedesktop.org/show_bug.cgi?id=17430 which has been fixed since 0.1.4. Could you try with 0.1.5?
I am using 0.1.5 on Karmic. Strange things is I could avoid the crash by adding the irc servername in the display name generation in aimport_widget_add_account() a few weeks ago, but it was hackish so I wanted to revisit before posting aa patch. But even that does not work now with empathy head. If you cannot reproduce by having the same nick on freenode and gimpnet in pidgin then importing it in empathy on first start then it is something I'll track down eventually myself.
Could you take your ~/.purple/accounts.xml remove all your personnal info and others account, be sure it triggers the crash and post it?
Created attachment 149850 [details] purple accounts.xml only the two irc accounts, still crashes mc5 head (nb: empathy does not crash) (process:21883): mcd-DEBUG: telepathy-mission-control version 5.3.2+
I tried with MC5 master (04fc1f7d34b59735489c31b218c4d1f6a8de7771) and Empathy master and it didn't crash... (process:23836): mcd-DEBUG: _mcd_account_manager_create_account: called (process:23836): mcd-DEBUG: _mcd_account_constructed: 0x678990 (idle/irc/janimo0) (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo0 (process:23836): mcd-DEBUG: _mcd_account_maybe_autoconnect: idle/irc/janimo0 not Enabled (process:23836): mcd-DEBUG: _mcd_account_set_parameters: called (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param account (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param server (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param port (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param password (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param use-ssl (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo0 (process:23836): mcd-DEBUG: check_validity_check_parameters_cb: Account validity changed (old: 0, new: 1) (process:23836): mcd-DEBUG: mcd_account_changed_property: called: Valid (process:23836): mcd-DEBUG: mcd_account_changed_property: First changed property (process:23836): mcd-DEBUG: _mcd_account_maybe_autoconnect: idle/irc/janimo0 not Enabled (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo0 (process:23836): mcd-DEBUG: mcd_account_manager_write_conf_async: called (process:23836): mcd-DEBUG: emit_property_changed: called (process:23836): mcd-DEBUG: _mcd_account_manager_create_account: called (process:23836): mcd-DEBUG: _mcd_account_constructed: 0x678a70 (idle/irc/janimo1) (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo1 (process:23836): mcd-DEBUG: _mcd_account_maybe_autoconnect: idle/irc/janimo1 not Enabled (process:23836): mcd-DEBUG: _mcd_account_set_parameters: called (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param account (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param server (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param port (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param password (process:23836): mcd-DEBUG: set_parameters_iter_param: Got param use-ssl (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo1 (process:23836): mcd-DEBUG: check_validity_check_parameters_cb: Account validity changed (old: 0, new: 1) (process:23836): mcd-DEBUG: mcd_account_changed_property: called: Valid (process:23836): mcd-DEBUG: mcd_account_changed_property: First changed property (process:23836): mcd-DEBUG: _mcd_account_maybe_autoconnect: idle/irc/janimo1 not Enabled (process:23836): mcd-DEBUG: mcd_account_check_parameters: called for idle/irc/janimo1 (process:23836): mcd-DEBUG: mcd_account_manager_write_conf_async: called (process:23836): mcd-DEBUG: dbusprop_get_all: org.freedesktop.Telepathy.Account (process:23836): mcd-DEBUG: mcd_dbus_get_interfaces: called (process:23836): mcd-DEBUG: _mcd_account_dup_parameters: called (process:23836): mcd-DEBUG: get_connect_automatically: called for idle/irc/janimo0 (process:23836): mcd-DEBUG: emit_property_changed: called (process:23836): mcd-DEBUG: dbusprop_get_all: org.freedesktop.Telepathy.Account (process:23836): mcd-DEBUG: mcd_dbus_get_interfaces: called (process:23836): mcd-DEBUG: _mcd_account_dup_parameters: called (process:23836): mcd-DEBUG: get_connect_automatically: called for idle/irc/janimo1
to help me debug, where to look for the unique name (idle/irc/janimo1) generation? thanks
Filed on MC5 as it is not an empathy issue https://bugs.freedesktop.org/show_bug.cgi?id=25684