Ticket #7444 (closed defect: fixed)

Opened 12 months ago

Last modified 10 months ago

cannot close a shared activity when the initiator has disconnected

Reported by: tomeu Owned by: joe
Priority: blocker Milestone: 8.2.0 (was Update.2)
Component: sugar Version: Git as of bug date
Keywords: blocks:8.2.0 r+ joyride-2171:+ Cc: mstone
Action Needed: no action Verified: no
Deployments affected: Blocked By:
Blocking:

Description

1. XO A: Start Write 2. XO A: Share with my neighborhood 3. XO B: Click on Write icon in the mesh view 4. XO B: Wait until the activity starts 5. XO A: Shutdown 6. XO B: Wait for A to be shutdown 7. XO B: Try to close Write

A non-modal alert appears saying 'Keep error: all changes will be lost'.

This error appears in the logs:

1215505549.090270 DEBUG root: Written object e402d9fb-2eec-45df-947a-f6412f44455d to the datastore.
1215505549.308576 DEBUG root: Activity.__save_cb
1215505619.362258 DEBUG root: Activity.save: dbus.String(u'e402d9fb-2eec-45df-947a-f6412f44455d')
1215505619.424083 INFO root: Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/sugar/activity/activity.py", line 894, in close
    self.save()
  File "/usr/lib/python2.5/site-packages/sugar/activity/activity.py", line 722, in save
    buddies_dict = self._get_buddies()
  File "/usr/lib/python2.5/site-packages/sugar/activity/activity.py", line 695, in _get_buddies
    for buddy in self._shared_activity.get_joined_buddies():
  File "/usr/lib/python2.5/site-packages/sugar/presence/activity.py", line 243, in get_joined_buddies
    buddies.append(self._ps_new_object(item))
  File "/usr/lib/python2.5/site-packages/sugar/presence/presenceservice.py", line 175, in _new_object
    self._del_object, object_path)
  File "/usr/lib/python2.5/site-packages/sugar/presence/buddy.py", line 91, in __init__
    self._properties = self._get_properties_helper()
  File "/usr/lib/python2.5/site-packages/sugar/presence/buddy.py", line 107, in _get_properties_helper
    props = self._buddy.GetProperties(byte_arrays=True)
  File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)
  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 607, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.laptop.Sugar.Presence.Buddy" doesn't exist

Attachments

Change History

Changed 12 months ago by tomeu

Sorry about the messed-up formatting:

  1. XO A: Start Write
  2. XO A: Share with my neighborhood
  3. XO B: Click on Write icon in the mesh view
  4. XO B: Wait until the activity starts
  5. XO A: Shutdown
  6. XO B: Wait for A to be shutdown
  7. XO B: Try to close Write

Changed 12 months ago by tomeu

Morgan, should be done something in the collaboration layer? Or the problem lays in the activity/sugar?

Maybe this should be a blocker?

Changed 12 months ago by gregorio

  • keywords blocks:8.2.0 added; 8.2.0:? removed
  • next_action changed from communicate to code

Hi Tomeu,

I think this is a related issue to what was reported in Uruguay recently. I documented it as a use case with a link to the original report here: http://wiki.laptop.org/go/Use_Cases#Collaboration_Examples

That's a show stopper for 8.2.0. Let me know if you think its different and I should open a new bug.

In the mean time, I'll mark this one a blocks:8.2.0

Thanks,

Greg S

Changed 12 months ago by tomeu

Not sure it's the same issue, I think we should do all this kind of tests again and enter the corresponding tickets if we don't have any yet.

Changed 12 months ago by morgs

  • keywords r? added

The error occurs on salut.

I duplicated it in jhbuild with Write and Chat.

A patch for sugar-toolkit is attached.

|TestCase|

Run two instances that share on salut. jhbuild, or two XOs with joyride <= 2140. Share Chat on one, join on the other. Kill the one instance with Alt-Shift-Q (jhbuild) or shutdown (XO). Now stop Chat on the other. It should stop cleanly without saying 'Keep error: all changes will be lost'. Same test can be done for Write, although it passes or fails the same on both.

Changed 12 months ago by tomeu

  • keywords r+ added; r? removed

Changed 12 months ago by morgs

  • cc m_stone added
  • next_action changed from code to add to build

Patch pushed to sugar-toolkit master.

Changed 12 months ago by morgs

  • cc mstone added; m_stone removed

Changed 12 months ago by marco

  • priority changed from high to blocker

Changed 12 months ago by morgs

  • keywords joyride-2171:+ added
  • next_action changed from add to build to qa signoff

This landed in joyride 2171.

I have tested it on that build with both Chat and Write, and it works. However, you have to hard-power off the XO (power button down for >4s) since shutdown wasn't working in that build (and the new session manager might safely exit the activity anyway). On the other XO it should seem like both XOs are still in the activity when you stop it.

Changed 12 months ago by mstone

  • owner changed from morgs to joe

Changed 11 months ago by gregorio

Hi Guys,

Does this include the ability to save in write while collaborating?

That may be a separate bug. I want to make sure we fully nail this case: http://lists.laptop.org/pipermail/olpc-sur/2008-May/000118.html

Let's file a new bug or link to one as needed so we are sure to test that and fix exactly what the users did in that e-mail.

Thanks,

Greg S

Changed 10 months ago by mstone

  • status changed from new to closed
  • next_action changed from qa signoff to no action
  • resolution set to fixed

Greg and I executed recorded a passing result on the testcase described in the first comment. (However, we observe that on XO A, the Icon of the shared Write instance has continued to persist in the Neighborhood View for over 5 minutes.)

Changed 10 months ago by mstone

This result was recorded with XO A on 8.2-760, Write-57, English and on XO B with 8.2-759, Write-58, and Spanish.

Note: See TracTickets for help on using tickets.