Ticket #7017 (assigned defect)

Opened 14 months ago

Last modified 8 months ago

Read sharing can deadlock.

Reported by: mstone Owned by: morgs
Priority: high Milestone: 9.1.0
Component: read-activity Version:
Keywords: Cc: mstone, morgs, collabora
Action Needed: test in release Verified: no
Deployments affected: Blocked By:
Blocking:

Description

I olpc-update'd two B4s from 703 -> 704. Both have Read-44 installed and both are connected to a channel 1 XS Mesh with Salut running.

I resumed a previously created Read instance containing Phyla.pdf which I shared publicly from MS2 and joined from MS1. I switched away to do other work, then came back to the Read instances to find them frozen with dark grey screens containing only the activity title text entry box. I ran 'strace -p' on both Read pids and found that the two instances were deadlocked, both blocking in recv().

How might this have occurred?

Attachments

read-server (1.7 kB) - added by mstone 13 months ago.
read-client (2.5 kB) - added by mstone 13 months ago.

Change History

Changed 13 months ago by mstone

  • cc morgs, collabora added

I just olpc-updated from 706 -> 708 and registered both laptops. olpc-netstatus reports that both laptops are connected to schoolserver.laptop.org and that gabble is running happily.

I shared Read-44 on MS1 and joined from MS2. A few minutes later, with no visible progress, I straced both activities. This time, both are blocked in poll().

Changed 13 months ago by mstone

My terminology was a bit inaccurate; unlike the recv() deadlock, these read instances responded to 'Quit' events from Sugar. Presumably they were sleeping in poll() waiting such events. However, it seems that no data was being transfered. How could we have reached this state?

The activity logs are quite remarkable. :)

Changed 13 months ago by mstone

Changed 13 months ago by mstone

Changed 12 months ago by gregorio

  • milestone deleted

Milestone Never Assigned deleted

Changed 12 months ago by marco

  • next_action set to diagnose
  • milestone set to 8.2.0 (was Update.2)

Changed 11 months ago by morgs

  • owner changed from rwh to morgs

Changed 10 months ago by marco

  • milestone changed from 8.2.0 (was Update.2) to 9.1.0

Changed 10 months ago by morgs

Somehow the client got a 404 error page, which it saved as the document, and then evince didn't like text/html.

Changed 10 months ago by morgs

  • next_action changed from diagnose to package

Fix pushed to git master. Will be considered for release post 8.2.0.

Changed 8 months ago by morgs

  • status changed from new to assigned
  • next_action changed from package to test in release

In unstable release 60.

Note: See TracTickets for help on using tickets.