App respawns if manually closed while it's launching

Bug #1575577 reported by Michael Terry
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Michał Sawicz
qtmir (Ubuntu)
Fix Released
High
Daniel d'Andrada

Bug Description

On latest rc-proposed:

1) Launch an app
2) While it's launching, enter right-edge spread and swipe the spawning app up, causing it to close
3) Wait, and watch the app appear again

I've looked into qtmir slightly and I have a guess, but I'm not super familiar with the code and lifecycles. I'd *guess* that Application::onSessionStateChanged needs its final few lines to switch from:

        } else {
            setInternalState(InternalState::StoppedResumable);
        }

to

        } else if (m_state != InternalState::Stopped) {
            setInternalState(InternalState::StoppedResumable);
        }

But it needs more investigation.

Gerry said to pass on to Daniel.

current build number: 321
device name: krillin
channel: ubuntu-touch/rc-proposed/bq-aquaris.en
last update: 2016-04-27 02:59:26
version version: 321
version ubuntu: 20160427
version device: 20160329-a9bacdb
version custom: 20160324--36-54-vivid

Related branches

Gerry Boland (gerboland)
Changed in qtmir (Ubuntu):
status: New → Triaged
importance: Undecided → Critical
importance: Critical → High
Changed in qtmir (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Can't reproduce on Nexus 7 (flo)

Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Can't reproduce with krillin

Changed in qtmir (Ubuntu):
status: In Progress → Incomplete
Revision history for this message
Michael Terry (mterry) wrote :

I just now reproduced on krillin. :-/

Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Providing unity8.log and recording a video would help.

Revision history for this message
Michael Terry (mterry) wrote :

Here's a log from a video that will also be uploaded shortly. Telegram is the program that I closed and then it came back. Note that this log also contains a (failed) reproduction for uNav before I did it successfully with Telegram.

Revision history for this message
Michael Terry (mterry) wrote :

And here's the video.

Changed in qtmir (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Thanks. Will get back to it on Monday.

Changed in qtmir (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Could you please try out my fix? It's pretty much what you proposed but I took the opportunity to refactor that code as well.

Revision history for this message
Michael Terry (mterry) wrote :

Tested the fix, works for me! Thanks.

Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Michał Sawicz (saviq)
milestone: none → 11
Changed in canonical-devices-system-image:
milestone: 11 → 12
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtmir - 0.4.8+16.10.20160520.1-0ubuntu1

---------------
qtmir (0.4.8+16.10.20160520.1-0ubuntu1) yakkety; urgency=medium

  [ Alan Griffiths ]
  * Reduce coupling to MirServer - it has been misused as a context
    object.

  [ Daniel d'Andrada ]
  * Also interpret the cursor names used by Mir client API (LP:
    #1447839)
  * Application: Don't respawn if closed while still starting up (LP:
    #1575577)

  [ Daniel d'Andrada, Michał Sawicz ]
  * Centralize logging categories

  [ Gerry Boland ]
  * UAL can throw on creating Application if invalid appId, catch
    instead of aborting (LP: #1578258)

  [ Timo Jyrinki ]
  * Use FindQt5PlatformSupport to find platform support, other methods
    not available on Qt 5.6 anymore. (LP: #1554404)

 -- Michał Sawicz <email address hidden> Fri, 20 May 2016 08:41:51 +0000

Changed in qtmir (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
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.