#2783 NORM Untriag: Public API should deal with service crashes

Zarro Boogs per Child bugtracker at laptop.org
Tue Aug 14 10:16:33 EDT 2007


#2783: Public API should deal with service crashes
--------------------+-------------------------------------------------------
 Reporter:  marco   |       Owner:  dcbw     
     Type:  defect  |      Status:  new      
 Priority:  normal  |   Milestone:  Untriaged
Component:  sugar   |     Version:           
 Keywords:          |    Verified:  0        
--------------------+-------------------------------------------------------
 Split from #2773. I'd say this is FRS work.


 By smcv:

 No, calls will fail after the service crashes or is stopped. If you add
 follow_name_owner_changes=True to the get_object() call, it *might* work,
 or not - it depends entirely on the D-Bus interface you're wrapping.
 That's why the dbus-python default is to not follow owner changes.

 This can only be fixed on a case-by-case basis, by someone who understands
 the API that's being wrapped.

 If the API you're wrapping is stateless, using follow_name_owner_changes
 will work.

 If you want to cope with crashes in a stateful API, you probably have to
 expose more of the detail of what's going on to the API user. For
 instance, invalidating objects when the service that created them crashes.


 By Tomeu:


 The clipboard service is not stateless, we keep in-memory references to
 the clipboard objects.

 The bundle registry is stateless, as it just scans the bundle dirs at
 startup.

 The object registry is also stateless.

 The services in the shell process are not stateless.

 I'm not sure about the presenceservice, but I guess it's not stateless
 (gives references to objects that won't exist after a service restart).

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



More information about the Bugs mailing list