Applications are orphaned when unity8 crashes
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Mir |
Expired
|
Medium
|
Unassigned | |
| | ubuntu-app-launch (Ubuntu) |
Undecided
|
Unassigned | ||
| | unity8 (Ubuntu) |
Medium
|
Michael Zanetti | ||
| | Vivid |
Undecided
|
Unassigned | ||
Bug Description
For some reason Unity8 crashed on me. The applications I had open are now orphaned. They're still running but you can't get to it as it no longer shows up under the recent applications. In addition if I attempt to start the app, it fails to run or come back from orphaned state, so I have to restart.
My unity process where Unity8 died an hour or two back.
lightdm 1871 0.0 0.0 1392 464 ? Ss 10:06 0:00 /bin/sh /usr/lib/
lightdm 1875 0.0 0.0 1392 472 ? S 10:06 0:00 /bin/sh /usr/bin/
lightdm 2362 0.2 5.0 343724 95000 ? Sl 10:06 1:47 /usr/bin/
phablet 22852 0.4 5.6 452692 105852 ? Ssl 19:03 0:34 unity8
The application:-
phablet 8503 10.3 8.6 297792 161652 ? Ssl 11:33 59:33 /usr/lib/
Now when I start calculator it just white-screens.
ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: unity8 7.87+14.
Uname: Linux 3.4.0-5-mako armv7l
ApportVersion: 2.14.3-0ubuntu1
Architecture: armhf
Date: Wed Jun 4 21:04:34 2014
InstallationDate: Installed on 2014-06-04 (0 days ago)
InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf (20140604)
SourcePackage: unity8
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Albert Astals Cid (community): Approve on 2015-05-01
- PS Jenkins bot: Needs Fixing (continuous-integration) on 2015-05-01
-
Diff: 9 lines (+1/-0)1 file modifieddata/unity8.conf (+1/-0)
| Alan Pope 🍺🐧🐱 🦄 (popey) wrote : | #1 |
| Michał Sawicz (saviq) wrote : | #2 |
| Alan Pope 🍺🐧🐱 🦄 (popey) wrote : | #3 |
Frustratingly today I had about 15 apps open. Left the room to get a USB cable to report a bug with one of them, and when I returned Unity had crashed. I'm left with only two orphaned apps, neither of which show up in the app scope, but are still running. The rest are gone.
phablet 6687 32.2 9.7 354408 182460 ? Ssl 22:52 20:41 /usr/lib/
phablet 23707 84.0 3.1 240108 58852 ? Ssl 23:36 16:42 /usr/lib/
| Michał Sawicz (saviq) wrote : Re: [Bug 1326513] Re: Applications are orphaned when unity8 crashes | #4 |
On 06.06.2014 00:56, Alan Pope ㋛ wrote:
> Frustratingly today I had about 15 apps open. Left the room to get a USB
> cable to report a bug with one of them, and when I returned Unity had
> crashed. I'm left with only two orphaned apps, neither of which show up
> in the app scope, but are still running. The rest are gone.
This is probably due to OOM killer having kicked in when unity8's crash
report was being collected.
Do you have the .crash file around?
| Alan Pope 🍺🐧🐱 🦄 (popey) wrote : | #5 |
Yup, attached.
| Michał Sawicz (saviq) wrote : | #6 |
Yeah, the crash wasn't collected properly due to OOM, so there's nothing we can get out of it :/
| Changed in mir: | |
| importance: | Undecided → Medium |
| kevin gunn (kgunn72) wrote : | #7 |
fwiw, we've split the dash out into a seperate application which should greatly reduce the crashing of the shell.
marking incomplete until we can get a good crash file.
| no longer affects: | unity-mir |
| Changed in unity8 (Ubuntu): | |
| status: | New → Incomplete |
| Changed in mir: | |
| status: | New → Incomplete |
| Changed in qtmir: | |
| status: | New → Incomplete |
| Michał Sawicz (saviq) wrote : | #8 |
I don't think this is correct status. The bug in question still exists, at least between mir and qtmir, it's not about unity8 crashing, it's about what happens when unity8 crashes.
I'd put it at Confirmed at least.
| Launchpad Janitor (janitor) wrote : | #9 |
[Expired for Mir because there has been no activity for 60 days.]
| Changed in mir: | |
| status: | Incomplete → Expired |
| Launchpad Janitor (janitor) wrote : | #10 |
[Expired for unity8 (Ubuntu) because there has been no activity for 60 days.]
| Changed in unity8 (Ubuntu): | |
| status: | Incomplete → Expired |
| Launchpad Janitor (janitor) wrote : | #11 |
[Expired for QtMir because there has been no activity for 60 days.]
| Changed in qtmir: | |
| status: | Incomplete → Expired |
| Daniel van Vugt (vanvugt) wrote : | #12 |
I think you will find this was bug 1353867, fix released around the time of comment #8. Mir clients (apps) should always die on server death, and they now do.
That is at least until such time that we have the smarts to recover them when a new server starts, but that feature may realistically never happen.
| Michał Sawicz (saviq) wrote : | #13 |
The problem is that non-foreground apps are SIGSTOPed, meaning that they won't find out about unity8 dying until such time that they get resumed again. Which will not happen if it crashed... So yeah, they still do get orphaned.
I'm thinking that the whole session should be brought down and restarted, which would cause upstart to SIGKILL all the suspended apps. Otherwise we'd need to try and tell upstart to kill them one by one... but we're in the process of crashing, so it's not like this would ever be reliable, would it?
| Changed in unity8 (Ubuntu): | |
| status: | Expired → Triaged |
| importance: | Undecided → Medium |
| Changed in qtmir: | |
| status: | Expired → Triaged |
| importance: | Undecided → Medium |
| Michał Sawicz (saviq) wrote : | #14 |
Hmm maybe we could add "stop on stopping unity8" or so to the UAL job?
| Changed in qtmir: | |
| assignee: | nobody → Josh Arenson (josharenson) |
| Changed in unity8 (Ubuntu): | |
| status: | Triaged → Invalid |
| Ted Gould (ted) wrote : | #15 |
We already have a stop on application-end or desktop-end. I think one of those should be enough if we want to kill all the applications. I'm a bit surprised they survive Mir dying though. Perhaps libmir-client should issue a shutdown when it sees the other end die.
| Changed in ubuntu-app-launch (Ubuntu): | |
| status: | New → Invalid |
| Michał Sawicz (saviq) wrote : | #16 |
> We already have a stop on application-end or desktop-end. I think one of
> those should be enough if we want to kill all the applications. I'm a
> bit surprised they survive Mir dying though. Perhaps libmir-client
> should issue a shutdown when it sees the other end die.
That happens already, but when the app is suspended, it doesn't get the
memo that mir died. And if unity8 dies, it will just respawn, so there's
no desktop-end or application-end emitted.
| Changed in qtmir: | |
| assignee: | Josh Arenson (josharenson) → nobody |
| Pat McGowan (pat-mcgowan) wrote : | #17 |
I issue a kill on the unity8 process and the app that was last in the foreground starts to consume 100%+ of the cpu and continues to do so indefinitely, even when other apps are started. Restarting and closing the app will resolve it.
| Changed in unity8 (Ubuntu): | |
| status: | Invalid → Confirmed |
| assignee: | nobody → Michael Zanetti (mzanetti) |
| Launchpad Janitor (janitor) wrote : | #18 |
This bug was fixed in the package unity8 - 8.02+15.
---------------
unity8 (8.02+15.
[ Albert Astals Cid ]
* Workarounds for concierge mode.
[ CI Train Bot ]
* New rebuild forced.
* Resync trunk.
unity8 (8.02+15.
[ Albert Astals Cid ]
* Make runtests fake a test error if make fails
* Make the test more stable
* Use dbus-test-runner instead of dbus-launch
[ Daniel d'Andrada ]
* DirectionalDrag
* Fix EdgeDragEvaluator when a drag can happen both ways
(Direction.
[ Josh Arenson ]
* Remove panelHeight property as it is unused.
[ Leo Arias ]
* Initial clean up of the autopilot tests set up. Removed the touch
device from the test case. Moved the restart of unity to a fixture.
Removed the unused DragMixin. Updated the setUpClass to use
process_
fixed. Use the toolkit helper to set the testability environment
variable. Fixed the indicators base class that was restarting unity
twice. (LP: #1238417, #1447206)
* Use the base class from the toolkit in autopilot tests.
[ Michael Zanetti ]
* emit application-stop when we're going down (LP: #1326513)
[ Michał Sawicz ]
* UNITY_SCOPES_LIST is no more
[ handsome_feng<email address hidden> ]
* When click the favorite scope in Dash Manager , it just return to
the corresponding scope page. (LP: #1447056)
unity8 (8.02+15.
[ Albert Astals Cid ]
* Compile with Qt 5.5 (LP: #1437238)
* Different way of top aligning labels when the other one in the row
is multiline (LP: #1442085)
* make pot_file
[ Andrea Cimitan ]
* Set sourceSize for DashBackground.qml Image
[ CI Train Bot ]
* New rebuild forced.
* Resync trunk. added: po/sk.po
[ Daniel d'Andrada ]
* Move handling of command line options to a separate class
* Refactor tst_PhysicalKey
[ Leo Arias ]
* For autopilot tests, use the device simulation scenarios from the
toolkit.
[ Leonardo Arias Fonseca ]
* For autopilot tests, use the device simulation scenarios from the
toolkit.
[ Michael Zanetti ]
* Make sure dnd mode is ended properly when drag gesture is cancelled
(LP: #1444949)
[ Michał Sawicz ]
* Fix flake8 warnings (LP: #1444170)
* Move mock indicator service to unity8-fake-env, as it's a binary-
dependent package.
[ Nick Dedekind ]
* Use asynchronous dbus requests for property updates. (LP: #1436982)
-- CI Train Bot <email address hidden> Mon, 11 May 2015 08:29:58 +0000
| Changed in unity8 (Ubuntu): | |
| status: | Confirmed → Fix Released |
| no longer affects: | qtmir |


Adding a Mir task, too... I'm not sure what's really possible, but since our apps are SIGSTOP'ed, they won't die on Mir connection dying. Not sure it's possible for them to reconnect on Mir restart.
One thing we could do is on unity8 startup kill all the upstart^ Wubuntu- app-launched apps to clean the slate...