Applications are orphaned when unity8 crashes

Bug #1326513 reported by Alan Pope 🍺🐧🐱 🦄
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mir
Expired
Medium
Unassigned
ubuntu-app-launch (Ubuntu)
Invalid
Undecided
Unassigned
unity8 (Ubuntu)
Fix Released
Medium
Michael Zanetti
Vivid
New
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/lightdm-greeter-session /usr/bin/unity8-greeter-wrapper /usr/bin/unity8-greeter
lightdm 1875 0.0 0.0 1392 472 ? S 10:06 0:00 /bin/sh /usr/bin/unity8-greeter-wrapper /usr/bin/unity8-greeter
lightdm 2362 0.2 5.0 343724 95000 ? Sl 10:06 1:47 /usr/bin/unity8-greeter
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/arm-linux-gnueabihf/qt5/bin/qmlscene ubuntu-calculator-app.qml

Now when I start calculator it just white-screens.

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: unity8 7.87+14.10.20140603.1-0ubuntu1
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

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :
Revision history for this message
Michał Sawicz (saviq) wrote :

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...

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) 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.

phablet 6687 32.2 9.7 354408 182460 ? Ssl 22:52 20:41 /usr/lib/arm-linux-gnueabihf/qt5/bin/qmlscene music-app.qml --url= -I ./plugins
phablet 23707 84.0 3.1 240108 58852 ? Ssl 23:36 16:42 /usr/lib/arm-linux-gnueabihf/qt5/bin/qmlscene calendar.qml

Revision history for this message
Michał Sawicz (saviq) wrote : Re: [Bug 1326513] Re: Applications are orphaned when unity8 crashes

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?

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

Yup, attached.

Revision history for this message
Michał Sawicz (saviq) wrote :

Yeah, the crash wasn't collected properly due to OOM, so there's nothing we can get out of it :/

kevin gunn (kgunn72)
Changed in mir:
importance: Undecided → Medium
Revision history for this message
kevin gunn (kgunn72) wrote :

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
Revision history for this message
Michał Sawicz (saviq) wrote :

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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mir because there has been no activity for 60 days.]

Changed in mir:
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for unity8 (Ubuntu) because there has been no activity for 60 days.]

Changed in unity8 (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QtMir because there has been no activity for 60 days.]

Changed in qtmir:
status: Incomplete → Expired
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

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.

Revision history for this message
Michał Sawicz (saviq) wrote :

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
Revision history for this message
Michał Sawicz (saviq) wrote :

Hmm maybe we could add "stop on stopping unity8" or so to the UAL job?

kevin gunn (kgunn72)
Changed in qtmir:
assignee: nobody → Josh Arenson (josharenson)
Changed in unity8 (Ubuntu):
status: Triaged → Invalid
Revision history for this message
Ted Gould (ted) wrote :

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
Revision history for this message
Michał Sawicz (saviq) wrote :

> 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.

Michał Sawicz (saviq)
Changed in qtmir:
assignee: Josh Arenson (josharenson) → nobody
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

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)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.02+15.04.20150511-0ubuntu1

---------------
unity8 (8.02+15.04.20150511-0ubuntu1) vivid; urgency=medium

  [ Albert Astals Cid ]
  * Workarounds for concierge mode.

  [ CI Train Bot ]
  * New rebuild forced.
  * Resync trunk.

unity8 (8.02+15.04.20150505-0ubuntu1) vivid; urgency=medium

  [ 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 ]
  * DirectionalDragArea: improvements & API grooming (LP: #1417920)
  * Fix EdgeDragEvaluator when a drag can happen both ways
    (Direction.Horizontal)

  [ 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_helpers. Removed the workaround for bug #1238417, already
    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.04.20150422-0ubuntu1) vivid; urgency=medium

  [ 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_PhysicalKeysMapper.qml

  [ 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
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.