If mir server dies, while a client is running, server blocks on restart and fails to draw
Bug #1227743 reported by
Gerry Boland
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Critical
|
Alan Griffiths | ||
mir (Ubuntu) |
Fix Released
|
Critical
|
Alan Griffiths |
Bug Description
Running Unity8 on Mir.
1. On phone, adb in to phablet user (adb shell; su - phablet).
2. Stop upstart job with "stop unity8"
3. Run unity manually with "unity8"
4. With the UI, launch an application
5. Back in adb, kill unity8 with Ctrl+C.
6. Now try running unity8 again with "unity8"
The command just blocks.
Kill the application manually and then run "unity8", now shell comes up ok.
Related branches
lp:~alan-griffiths/mir/fix-client-hang-on-server-death
- Alan Griffiths: Abstain
- PS Jenkins bot (community): Approve (continuous-integration)
- Daniel van Vugt: Needs Information
- Kevin DuBois (community): Approve
-
Diff: 251 lines (+92/-66)3 files modifiedsrc/client/logging/rpc_report.cpp (+1/-1)
src/client/rpc/mir_socket_rpc_channel.cpp (+90/-65)
src/client/rpc/mir_socket_rpc_channel.h (+1/-0)
Changed in mir: | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
status: | New → Triaged |
importance: | Undecided → Critical |
Changed in mir (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Critical |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
Changed in mir: | |
milestone: | none → phone-v1-freeze |
Changed in mir (Ubuntu): | |
milestone: | none → ubuntu-13.10 |
tags: | added: phone-v1-freeze |
no longer affects: | mir (Ubuntu) |
Changed in mir: | |
status: | Triaged → In Progress |
Changed in mir: | |
milestone: | phone-v1-freeze → 0.0.16 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in mir: | |
milestone: | 0.0.16 → 0.1.0 |
status: | Fix Released → Fix Committed |
Changed in mir (Ubuntu): | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
importance: | Undecided → Critical |
status: | New → Fix Committed |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
At least a part of the problem is the client holding resources from the original connection. These cannot be released as the client API gets into a "hung" state waiting for responses from a socket that died with the server.
lp:~alan-griffiths/mir/improve-tidy-up-of-mir_connection_get_display_info ensures the API eventually times out.