Dan Williams wrote:
On Sun, 2007-03-18 at 19:10 -0400, Mike C. Fletcher wrote:
I'm finding that while testing with sugar-jhbuild it's quite annoying to
have the service creation bomb out when an existing instance of the
service (presence or clipboard) is active. That is, it would be useful
if it could simply catch the error and stop trying to create the service
if there is an org.freedesktop.Avahi.CollisionError (local name
collision) error on the attempt to create the services.
I think you're confusing two different things... the PresenceService
and the Clipboard are _dbus_ services, but the Avahi.CollisionError you
speak of is an mDNS service... Do you have some tracebacks?
File "/usr/share/sugar/services/presence/PresenceService.py", line 272, in
registerService
port, domain, sender)
File "/usr/share/sugar/services/presence/PresenceService.py", line 802, in
register_service
service.register(self._system_bus, self._mdns_service)
File "/usr/share/sugar/services/presence/Service.py", line 420, in register
dbus.UInt16(self._port), info)
File "/var/lib/python-support/python2.5/dbus/proxies.py", line 85, in __call__
return self._proxy_method(*args, **keywords)
File "/var/lib/python-support/python2.5/dbus/proxies.py", line 169, in __call__
reply_message = self._connection.send_message_with_reply_and_block(message,
timeout)
DBusException: org.freedesktop.Avahi.CollisionError: Local name collision
It happens when the emulator crashes or is interrupted with Ctrl-C.
sugar-presence-service and
sugar-clipboard keep running so a new registration is not possible unless those
are killed
or avahi restarted.
And the emulator can crash when started from a cold cache as pyGtk tries to
open a display and coredump
before Xephyr gets to be properly set up. It can be worked around by adding a
sleep of a few seconds after
spawning Xephyr but that is not too clean.
Jani
_______________________________________________
Sugar mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/sugar