[sugar] Re: Catch duplicates on service creation?

Jani Monoses jani.monoses
Sun Apr 1 07:35:43 EDT 2007


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



More information about the Sugar-devel mailing list