#2654 HIGH Trial-3: Sugar Shell is offering D-Bus services in the UI loop

Zarro Boogs per Child bugtracker at laptop.org
Fri Aug 3 08:43:01 EDT 2007


#2654: Sugar Shell is offering D-Bus services in the UI loop
--------------------+-------------------------------------------------------
 Reporter:  tomeu   |       Owner:  tomeu  
     Type:  defect  |      Status:  new    
 Priority:  high    |   Milestone:  Trial-3
Component:  sugar   |     Version:         
 Keywords:          |    Verified:  0      
--------------------+-------------------------------------------------------
 The shell is offering these interfaces through D-Bus:

  - org.laptop.Shell
  - org.laptop.Shell.Owner
  - org.laptop.Shell.ActivityRegistry

 This is quite problematic because the dbus service can only serve requests
 when the UI is idle and the UI will block while the Shell is handling a
 dbus request. Also, this will cause deadlocks when the Shell requests
 something to another process via dbus and that process calls the Shell
 service.

 Seems to me that org.laptop.Shell and org.laptop.Shell.Owner are too tied
 with the UI to be separated from the Shell process.

 org.laptop.Shell.ActivityRegistry could be offered by a separate process,
 but then the Shell would have to listen signals from it and have access to
 operations like add_bundle and remove_bundle that shouldn't be available
 to any other process because of security concerns.

 The right fix from my point of view would be to run the dbus service
 inside the Shell process but having its own thread, loop and dbus
 connection, but Simon thinks it's not feasible for Trial3. Simon, is that
 true?

-- 
Ticket URL: <http://dev.laptop.org/ticket/2654>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list