[sugar] Re: Lockup

Dan Williams dcbw
Tue Jul 25 11:21:32 EDT 2006


On Mon, 2006-07-24 at 16:31 +0200, Marco Pesenti Gritti wrote:
> Marco Pesenti Gritti wrote:
> > Hi,
> >
> > if I start the latest sugar, it lock ups for a few seconds. Ctrl+cing 
> > I get this trace:
> >
> > Traceback (most recent call last):
> >  File "shell/sugar", line 63, in ?
> >    session.start()
> >  File "/home/marco/sugar-jhbuild/source/sugar/shell/Session.py", line 
> > 77, in start
> >    shell.start()
> >  File "/home/marco/sugar-jhbuild/source/sugar/shell/Shell.py", line 
> > 59, in start
> >    self._owner = ShellOwner()
> >  File "/home/marco/sugar-jhbuild/source/sugar/shell/Owner.py", line 
> > 35, in __init__
> >    self._service = self._pservice.register_service(nick, 
> > PRESENCE_SERVICE_TYPE)
> >  File 
> > "/home/marco/sugar-jhbuild/source/sugar/sugar/presence/PresenceService.py", 
> > line 182, in register_service
> >    serv_op = self._ps.registerService(name, stype, properties, 
> > address, port, domain)
> >  File "/usr/lib/python2.4/site-packages/dbus/proxies.py", line 25, in 
> > __call__
> >    ret = self._proxy_method (*args, **keywords)
> >  File "/usr/lib/python2.4/site-packages/dbus/proxies.py", line 102, in 
> > __call__
> >    reply_message = self._connection.send_with_reply_and_block(message, 
> > timeout)
> >  File "dbus_bindings.pyx", line 458, in 
> > dbus_bindings.Connection.send_with_reply_and_block
> >
> > If I comment out self._owner = ShellOwner() the situation improves but 
> > I still get a few seconds delay that I don't remember we was having 
> > before... Maybe that's unrelated though.
> >
> 
> Ok I guess the few seconds delay is the sleep(3) after running presence 
> service. We definately need something better there ;)
> I wonder if using dbus activation would be a good idea for this case? I 
> can't think of downsides but... I didn't think that hard :P

I fixed that yesterday morning, actually.  The Session code now checks
whether or not the PS's D-Bus name is owned by anything yet, sleeps a
bit if it's not, and continues when it is.  The sleep(3) is gone.

Dan




More information about the Sugar-devel mailing list