#8701 NORM Future : Go gets confused about whose turn it is

Zarro Boogs per Child bugtracker at laptop.org
Sat Sep 27 07:29:07 EDT 2008


#8701: Go gets confused about whose turn it is
--------------------------+-------------------------------------------------
   Reporter:  wad         |       Owner:  andresambrois 
       Type:  defect      |      Status:  new           
   Priority:  normal      |   Milestone:  Future Release
  Component:  olpc-games  |     Version:  not specified 
 Resolution:              |    Keywords:  go            
Next_action:  diagnose    |    Verified:  0             
  Blockedby:              |    Blocking:                
--------------------------+-------------------------------------------------
Changes (by andresambrois):

 * cc: morgs (added)


Comment:

 I have reviewed the logs and it seems like a network problem to me. To be
 more precise:
 [[BR]]
 On the __first__ hang, laptop 1 (Nathan's) seems to have lost track of the
 other buddy, and tries to get the buddy info again with the old handle,
 but looks like it has changed. The relevant part is:
 [[BR]]

 {{{
 1222477094.316575 DEBUG PlayGo: Signaling players of stone placement at:0
 x 3.
 1222477164.626055 DEBUG PlayGo: Tube: Added participants: dbus.Array([],
 signature=dbus.Signature('(us)'))
 1222477164.634308 DEBUG PlayGo: Tube: Removed participants:
 dbus.Array([dbus.UInt32(6L)], signature=dbus.Signature('u'))
 1222477164.636535 DEBUG PlayGo: Trying to find owner of handle 6...
 1222477164.732942 DEBUG PlayGo: My handle in that group is 4
 1222477164.762903 ERROR dbus.connection: Exception in handler for D-Bus
 signal:
 Traceback (most recent call last):
   File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 214, in
 maybe_handle_message
     self._handler(*args, **kwargs)
   File "/usr/lib/python2.5/site-packages/sugar/presence/tubeconn.py", line
 93, in _on_dbus_names_changed
     callback(added, removed)
   File "/home/olpc/Activities/PlayGo.activity/collaboration.py", line 104,
 in participant_change_cb
     buddy = self._get_buddy(handle)
   File "/home/olpc/Activities/PlayGo.activity/collaboration.py", line 222,
 in _get_buddy
     handle = group.GetHandleOwners([cs_handle])[0]
   File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 140, in
 __call__
     **keywords)
   File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 630, in
 call_blocking
     message, timeout)
 DBusException: org.freedesktop.Telepathy.Errors.InvalidArgument: handle 6
 is not a member
 }}}

 Maybe this is a presence service bug? I'm CCing morgs just in case.
 [[BR]][[BR]]
 The network diagnostic seems to be supported by the fact that in laptop 2
 (wad's) presenceservice.log shows a disconnection from the network just
 before the above takes place (check the kernel tick numbers):

 {{{
 1222477155.595573 DEBUG s-p-s.psutils: IP4 address now 'None' (None)
 1222477155.623981 DEBUG s-p-s.telepathy_plugin: ::: IP4 address now None
 1222477155.626082 DEBUG s-p-s.server_plugin: ::: invalid IP4 address, will
 disconnect
 1222477155.887954 DEBUG s-p-s.telepathy_plugin: <LinkLocalPlugin object at
 0x85c6234 (telepathy_plugin+TelepathyPlugin at 0x85f8f60)>: Starting up...
 }}}

 On the __second__ crash wad's laptop also seems to be loosing the
 connection around tick 1222478837 (Just after his last stone placement is
 advertised):

 {{{
 1222478837.157504 DEBUG s-p-s.psutils: IP4 address now 'None' (None)
 1222478837.195243 DEBUG s-p-s.telepathy_plugin: ::: IP4 address now None
 1222478837.197480 DEBUG s-p-s.server_plugin: ::: invalid IP4 address, will
 disconnect
 1222478837.416595 DEBUG s-p-s.telepathy_plugin: <LinkLocalPlugin object at
 0x85c6234 (telepathy_plugin+TelepathyPlugin at 0x85f8f60)>: Starting up...
 }}}

 I'm not sure if PlayGo should be handling all of this stuff without any
 help from presence service. Maybe a buddy-left and buddy-joined signals
 need to be emitted somehow when such a things happen (which could be
 pretty common in an unstable network).

 I would really appreciate further testing under different network
 conditions. Thanks for reporting!

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


More information about the Bugs mailing list