#6248 HIGH 9.1.0: Presence service broken with NetworkManager-0.7 (NM D-Bus API change)

Zarro Boogs per Child bugtracker at laptop.org
Fri Nov 14 03:25:49 EST 2008


#6248: Presence service broken with NetworkManager-0.7 (NM D-Bus API change)
----------------------------------------+-----------------------------------
           Reporter:  marco             |       Owner:  Collabora      
               Type:  defect            |      Status:  new            
           Priority:  high              |   Milestone:  9.1.0          
          Component:  presence-service  |     Version:  olpc-3         
         Resolution:                    |    Keywords:  8.2.0:- 9.1.0:?
        Next_action:  code              |    Verified:  0              
Deployment_affected:                    |   Blockedby:                 
           Blocking:                    |  
----------------------------------------+-----------------------------------
Changes (by morgs):

 * cc: sjoerd (removed)
 * cc: Collabora, erikos (added)


Comment:

 An issue with the above workaround: If there is an interface up without an
 IP address - e.g. a wired interface with the cable unplugged - you get the
 following failure in presenceservice, from
 https://bugs.launchpad.net/ubuntu/+source/sugar/+bug/297329:

 {{{
 1226636414.386559 INFO s-p-s: Starting presence service...
 Traceback (most recent call last):
   File "/usr/bin/sugar-presence-service", line 24, in <module>
     main.main()
   File "/usr/share/sugar-presence-service/main.py", line 63, in main
     presenceservice.main(test_num, randomize)
   File "/usr/share/sugar-presence-service/presenceservice.py", line 873,
 in main
     ps = PresenceService()
   File "/usr/share/sugar-presence-service/presenceservice.py", line 88, in
 __init__
     self._owner = self._create_owner()
   File "/usr/share/sugar-presence-service/presenceservice.py", line 57, in
 _create_owner
     return ShellOwner(self, self._session_bus)
   File "/usr/share/sugar-presence-service/buddy.py", line 970, in __init__
     key_hash=key_hash)
   File "/usr/share/sugar-presence-service/buddy.py", line 667, in __init__
     self._ip4_addr_monitor = psutils.IP4AddressMonitor.get_instance()
   File "/usr/share/sugar-presence-service/psutils.py", line 143, in
 get_instance
     _ip4am = IP4AddressMonitor()
   File "/usr/share/sugar-presence-service/psutils.py", line 159, in
 __init__
     addr, iface = self._get_address_fallback()
   File "/usr/share/sugar-presence-service/psutils.py", line 293, in
 _get_address_fallback
     return self._get_iface_address(iface)
   File "/usr/share/sugar-presence-service/psutils.py", line 280, in
 _get_iface_address
     addr = fcntl.ioctl(fd, SIOCGIFADDR, struct.pack('256s',
 iface[:15]))[20:24]
 IOError: [Errno 99] Cannot assign requested address
 }}}

 This then causes Sugar to fail to start, with:

 {{{
 1226490893.407684 ERROR dbus.proxies: Introspect error on
 org.laptop.Sugar.Presence:/org/laptop/Sugar/Presence:
 dbus.exceptions.DBusException:
 org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with
 unknown return code 1
 1226490893.946251 WARNING sugar.presence.presenceservice: Unable to
 retrieve local user/owner
                    from presence service:
 org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with
 unknown return code 1
 Traceback (most recent call last):
   File "/usr/bin/sugar-shell", line 32, in <module>
     main()
   File "/usr/share/sugar/shell/main.py", line 153, in main
     view.Shell.get_instance()
   File "/usr/share/sugar/shell/view/Shell.py", line 259, in get_instance
     _instance = Shell()
   File "/usr/share/sugar/shell/view/Shell.py", line 55, in __init__
     self._model = shellmodel.get_instance()
   File "/usr/share/sugar/shell/model/shellmodel.py", line 102, in
 get_instance
     _instance = ShellModel()
   File "/usr/share/sugar/shell/model/shellmodel.py", line 48, in __init__
     self._owner = ShellOwner()
   File "/usr/share/sugar/shell/model/Owner.py", line 76, in __init__
     self._invites = Invites()
   File "/usr/share/sugar/shell/model/Invites.py", line 78, in __init__
     owner = ps.get_owner()
   File "/usr/lib/python2.5/site-
 packages/sugar/presence/presenceservice.py", line 452, in get_owner
     raise RuntimeError("Could not get owner object.")
 RuntimeError: Could not get owner object.
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/6248#comment:10>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list