sugarlabs / sugar

Sugar GTK shell
GNU General Public License v3.0
255 stars 241 forks source link

Neighbourhood view missing buddies with collaboration server in Fedora 29 and later #814

Closed satellitee closed 5 years ago

satellitee commented 5 years ago

https://bugzilla.redhat.com/show_bug.cgi?id=1660597 even with prosody "telnet jabber.sugarlabs.org 5222" connected in terminal

aperezbios commented 5 years ago

I can independently confirm that, with jabber.sugarlabs.org configured as the presence server, under both Fedora 29 SoaS and SoaS 30/Rawhide, no other users are shown in the network neighborhood. Both versions of the Fedora SoaS are using Sugar 0.112.

aperezbios commented 5 years ago

Here are the contents of the shell.log on my SoaS 29:


(main.py:2321): dbind-WARNING **: 14:54:56.449: Couldn't connect to accessibility bus: Failed to connect to socket 00010: Connection refused

(metacity:2495): dbind-WARNING **: 14:54:59.262: Couldn't connect to accessibility bus: Failed to connect to socket 00010: Connection refused

(metacity-message:2517): dbind-WARNING **: 14:55:07.250: Couldn't connect to accessibility bus: Failed to connect to socket 00010: Connection refused

(metacity-message:2518): dbind-WARNING **: 14:55:07.375: Couldn't connect to accessibility bus: Failed to connect to socket 00010: Connection refused
1545162984.979568 ERROR root: Error parsing public key.
1545162985.002976 ERROR dbus.connection: Unable to set arguments ('gabble', 'jabber', 'jabber', {'register': True, 'account': 'b7bb4f877acb2d6a4fa5883f3a3f35ed5abc730d@', 'require-encryption': True, 'resource': 'sugar', 'password': None, 'ignore-ssl-errors': True, 'old-ssl': True, 'port': dbus.UInt32(5223L), 'server': ''}, {'org.freedesktop.Telepathy.Account.ConnectAutomatically': True, 'org.freedesktop.Telepathy.Account.Enabled': True, 'org.freedesktop.Telepathy.Account.Nickname': 'Alex'}) according to signature u'sssa{sv}a{sv}': <type 'exceptions.TypeError'>: Don't know which D-Bus type to use to encode type "NoneType"
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 604, in msg_reply_handler
    reply_handler(*message.get_args_list(**get_args_opts))
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 738, in __got_accounts_cb
    self._server_account = self._ensure_server_account(account_paths)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 851, in _ensure_server_account
    properties)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 641, in call_blocking
    message.append(signature=signature, *args)
TypeError: Don't know which D-Bus type to use to encode type "NoneType"
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 864, in __jabber_server_changed_cb
    self._server_account.object_path)
AttributeError: 'NoneType' object has no attribute 'object_path'
satellitee commented 5 years ago

Contents of shell.log on my SoaS 29

1545161959.850952 ERROR root: Error parsing public key. 1545161977.826573 ERROR root: Error parsing public key. 1545161977.827080 WARNING root: Existing private key /home/satellit/.sugar/default/owner.key moved to /home/satellit/.sugar/default/owner.key.broken 1545161977.827310 WARNING root: Existing public key /home/satellit/.sugar/default/owner.key.pub moved to /home/satellit/.sugar/default/owner.key.pub.broken 1545161978.604816 ERROR root: Error parsing public key. 1545161978.607252 ERROR dbus.connection: Unable to set arguments ('gabble', 'jabber', 'jabber', {'register': True, 'account': '35fbf8e1bf09bb84505e46482bc27ee3f72c0350@jabber.sugarlabs.org', 'require-encryption': True, 'resource': 'sugar', 'password': None, 'ignore-ssl-errors': True, 'old-ssl': True, 'port': dbus.UInt32(5223L), 'server': 'jabber.sugarlabs.org'}, {'org.freedesktop.Telepathy.Account.ConnectAutomatically': True, 'org.freedesktop.Telepathy.Account.Enabled': True, 'org.freedesktop.Telepathy.Account.Nickname': 'Thomas Gilliard'}) according to signature u'sssa{sv}a{sv}': <type 'exceptions.TypeError'>: Don't know which D-Bus type to use to encode type "NoneType" Traceback (most recent call last):   File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 604, in msg_reply_handler     reply_handler(*message.get_args_list(get_args_opts))   File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 738, in __got_accounts_cb     self._server_account = self._ensure_server_account(account_paths)   File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 851, in _ensure_server_account     properties)   File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 70, in call     return self._proxy_method(args, keywords)   File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 145, in call     keywords)   File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 641, in call_blocking     message.append(signature=signature, args) TypeError: Don't know which D-Bus type to use to encode type "NoneType" /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1637: Warning: g_value_transform: assertion 'G_IS_VALUE (src_value)' failed   return _Gtk_main(*args, *kwargs) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1637: Warning: unable to set property 'buddy' of type 'PyObject' from value of type '(null)'   return _Gtk_main(args, kwargs) 1545162380.084754 WARNING root: no data for selection target MULTIPLE. 1545162380.096090 WARNING root: no data for selection target NULL.

quozl commented 5 years ago

Please list the Telepathy packages installed. Thanks.

aperezbios commented 5 years ago

The standard telepathy packages installed under F29 are:

telepathy-mission-control-5.16.4-7-fc29.x86_64
python2-telepathy-0.15.19-18-fc29.x86_64
telepathy-glib-0.24.1-9-fc29.x86_64
telepathy-gabble-0.18.4-7-fc29.x86_64
telepathy-filesystem-0.0.2-13-fc29.x86_64
telepathy-salut-0.8.1-15-fc29.x86_64
aperezbios commented 5 years ago

Additionally, the standard telepathy packages installed under F30/rawhide (as of the time this comment was written) are identical to the F29 packages.

quozl commented 5 years ago

Wild guess; the error parsing public key results in a password of None which can't be encoded by D-Bus. Almost as if a hash or crypto method was removed. Corresponding log on Ubuntu 18.04 with Sugar 0.112 does not show the same sequence;

1544660315.103967 WARNING root: Journal premature deiconify by Metacity (RHBZ #1519042), try again.
/usr/lib/python2.7/dist-packages/jarabe/main.py:378: Warning: g_value_transform: assertion 'G_IS_VALUE (src_value)' failed
  Gtk.main()
/usr/lib/python2.7/dist-packages/jarabe/main.py:378: Warning: unable to set property 'buddy' of type 'PyObject' from value of type '(null)'
  Gtk.main()
Gdk-Message: 12:43:27.520: metacity: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
satellitee commented 5 years ago

In Cinnamon desktop using sugar-runner on Fedora SoaS 29

1545221517.289599 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/buddy.py", line 125, in __name_owner_changed_cb
    Connection(name, path, ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221517.340254 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 262, in __account_property_changed_cb
    self._prepare_connection(properties['Connection'])
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 268, in _prepare_connection
    ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221523.872682 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/buddy.py", line 125, in __name_owner_changed_cb
    Connection(name, path, ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221523.875195 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 262, in __account_property_changed_cb
    self._prepare_connection(properties['Connection'])
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 268, in _prepare_connection
    ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1637: Warning: g_value_transform: assertion 'G_IS_VALUE (src_value)' failed
  return _Gtk_main(*args, **kwargs)
/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1637: Warning: unable to set property 'buddy' of type 'PyObject' from value of type '(null)'
  return _Gtk_main(*args, **kwargs)

(main.py:26171): Gtk-WARNING **: 04:12:08.734: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node menuitem owner SugarPaletteHeader)
1545221530.666166 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 262, in __account_property_changed_cb
    self._prepare_connection(properties['Connection'])
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 268, in _prepare_connection
    ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221530.667312 WARNING telepathy.client.interfacefactory: Exception from asynchronous method call:
org.freedesktop.DBus.Error.UnknownMethod: Method "GetStatus" with signature "" on interface "org.freedesktop.Telepathy.Connection" doesn't exist

1545221557.669403 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 262, in __account_property_changed_cb
    self._prepare_connection(properties['Connection'])
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 268, in _prepare_connection
    ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221557.670452 WARNING telepathy.client.interfacefactory: Exception from asynchronous method call:
org.freedesktop.DBus.Error.UnknownMethod: Method "GetStatus" with signature "" on interface "org.freedesktop.Telepathy.Connection" doesn't exist

1545221608.363304 WARNING root: no data for selection target MULTIPLE.
1545221608.370550 WARNING root: no data for selection target NULL.
1545221609.338791 WARNING root: no data for selection target MULTIPLE.
1545221638.665332 ERROR dbus.connection: Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 262, in __account_property_changed_cb
    self._prepare_connection(properties['Connection'])
  File "/usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py", line 268, in _prepare_connection
    ready_handler=self.__connection_ready_cb)
  File "/usr/lib/python2.7/site-packages/telepathy/client/conn.py", line 49, in __init__
    object = self.bus.get_object(service_name, object_path)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Telepathy.Connection.salut.local_xmpp.ac17e059 was not provided by any .service files
1545221638.665806 WARNING telepathy.client.interfacefactory: Exception from asynchronous method call:
org.freedesktop.DBus.Error.UnknownMethod: Method "GetStatus" with signature "" on interface "org.freedesktop.Telepathy.Connection" doesn't exist

1545221659.696062 ERROR root: No activities are running

(metacity:26208): metacity-WARNING **: 04:14:19.700: CurrentTime used to choose focus window; focus window may not be correct.
satellitee commented 5 years ago

ssh -v Tgillard@sunjammer.sugarlabs.org works the keys in .ssh folder are correct ie:I can log in

quozl commented 5 years ago

ssh -v ... works

Nothing to do with your SSH key ... or car keys. :grin: I was talking about the identity keys that Sugar creates on first login and presents to the server. Next action is to debug the key creation sequence in Python.

quozl commented 5 years ago

@aperezbios, the error parsing public key is in two places;

https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/master/src/sugar3/profile.py#L96 https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/master/src/sugar3/profile.py#L126

Note the coded assumption that DSA keys would be present. I seem to recall DSA keys being deprecated some time ago for SSH, leaving only RSA keys, so this code may need changing if support for DSA keys has been removed from OpenSSL or some other Sugar dependency. If so, this would break upgrades from one Sugar version to another unless we were careful.

Please try exercising the profile module from Terminal, e.g.

% python
>>> from sugar3.profile import *
>>> get_pubkey()

Result should be a key.

quozl commented 5 years ago

@aperezbios, alternatively, check the ssh-keygen command used by Sugar;

https://github.com/sugarlabs/sugar/blob/master/src/jarabe/intro/window.py#L83

Can Fedora 29 generate DSA keys? I'd hope so.

aperezbios commented 5 years ago

The result of my testing with Fedora SoaS versions 28, 29, and rawhide, which will become F30, is that the the import from sugar3.profile and invocation of get_pubkey() returns the expected key, so that path does not appear to be the source of the problem.

aperezbios commented 5 years ago

I also tested by manually invoking 'ssh-key -t dsa' on Fedora SoaS 28, 29, and rawhide, and the resulting DSA key is succesfully created.

quozl commented 5 years ago

Thanks! Sounds like it will need interactive debugging.

quozl commented 5 years ago
>>> from sugar3.profile import get_profile
>>> p = get_profile()
>>> p.privkey_hash
ERROR:root:Error parsing public key
>>> p._hash_private_key()
ERROR:root:Error parsing public key
>>> ^D
% head -1 .sugar/default/owner.key
-----BEGIN OPENSSH PRIVATE KEY-----

OpenSSH has changed the format of the key file.

FGrose commented 5 years ago

Fixed commit https://github.com/sugarlabs/sugar-toolkit-gtk3/commit/39b7e606dfcded84848990c62df37cdb9e3c62cb with https://github.com/sugarlabs/sugar-toolkit-gtk3/commit/f228909.

satellitee commented 5 years ago

Fedora-SoaS-Live-x86_64-Rawhide-20190102.n.0.iso https://wiki.sugarlabs.org/go/File:20190102-fail.png
liveinst and liveinst -T (text) fail

Fedora-KDE-Live-x86_64-Rawhide-20190102.n.0.iso installs in Oracle VB correctly?

quozl commented 5 years ago

@satellitee, thanks for your comment, but it is off-topic. This GitHub issue is about missing buddies on Neighbourhood View. I'll hide your comment and mine shortly. But to answer your comment;

kiy4h commented 4 years ago

I'm experiencing this, on Debian 10.2 Sugar Live Build.

quozl commented 4 years ago

Might you be seeing https://github.com/sugarlabs/sugar/issues/840 instead?

kiy4h commented 4 years ago

Oh, yes. My bad.