[enhancement] There should be a quit signal sent to sessions instead of killing them directly

Bug #1304257 reported by Michał Sawicz on 2014-04-08
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Alexandros Frantzis
unity-mir
Medium
Unassigned
mir (Ubuntu)
Undecided
Unassigned
qtmir (Ubuntu)
Undecided
Unassigned
unity-mir (Ubuntu)
Medium
Unassigned

Bug Description

The task manager currently kills (upstart-stops) the apps upon the user requesting it to stop. It should send a quit signal instead (and SIGCONT it first, if stopped), so that the app can shut down gracefully.

A method to forcefully quit the app is needed, too, if it's not responding (or maybe even just timeout-based).

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: libunity-mir1 0.3+14.04.20140401.1-0ubuntu1
ProcVersionSignature: Ubuntu 3.13.0-23.45-generic 3.13.8
Uname: Linux 3.13.0-23-generic x86_64
NonfreeKernelModules: wl nvidia
ApportVersion: 2.14.1-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Apr 8 09:17:00 2014
SourcePackage: unity-mir
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Michał Sawicz (saviq) wrote :
Robert Carr (robertcarr) wrote :

I wonder if it should be lifecycle?

Gerry Boland (gerboland) on 2014-04-08
Changed in unity-mir (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
Changed in unity-mir:
status: New → Confirmed
importance: Undecided → Medium
Daniel van Vugt (vanvugt) wrote :

Signals are very different to messages. The former involves just per-app/client work. The latter requires some enhancement to the server and MirEvent. I think we need both.

Changed in mir:
status: New → Triaged
importance: Undecided → Medium
summary: - There should be a quit signal sent to sessions instead of killing them
- directly
+ [enhancement] There should be a quit signal sent to sessions instead of
+ killing them directly
tags: added: enhancement
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
Changed in ubuntu-system-settings (Ubuntu):
status: New → Confirmed
affects: ubuntu-system-settings (Ubuntu) → system-image (Ubuntu)
Ted Gould (ted) wrote :

Currently upstart to stop a job sends SIGTERM and then waits 5 seconds and sends SIGKILL. I think the issue is that we need to send SIGCONT first for it to get the TERM.

Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
milestone: none → 0.10.0
status: Triaged → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (5.2 KiB)

This bug was fixed in the package mir - 0.10.0+15.04.20150107.2-0ubuntu1

---------------
mir (0.10.0+15.04.20150107.2-0ubuntu1) vivid; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.10.0 (https://launchpad.net/mir/+milestone/0.10.0)
    - Enhancements:
      . Added support for Android HWC 1.3 devices.
      . Plumbing/preparation to support external displays on Android devices.
      . Reduced build dependencies.
      . Client API: Added version macros.
      . Began work on automatic driver probing, to intelligently choose the
        best driver for you.
      . Demo shell (mir_proving_server): Added desktop zoom feature using
        Super + mouse wheel.
      . Demo renamed: mir_demo_server_shell -> mir_proving_server
      . Other demo servers merged into -> mir_demo_server
      . Wider support for display buffer pixel formats in the mesa driver, for
        wider hardware support.
      . Performance: On mesa/desktop at least; only hold compositor buffers
        for the duration of the render, instead of the duration of the frame.
        Following this change the compositor report can now finally report
        render time instead of frame time.
      . Mir now starts reliably when a TV is connected by HDMI, and up to
        4K resolution (2160p) is known to work.
      . Plenty more enhancements logged in the bugs list below.
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 3
      . Mirplatform ABI bumped to 5
      . Mirserver ABI bumped to 28
    - Bug fixes:
      . [regression] Mir servers (since 0.9) randomly crash in malloc due to
        heap corruption (LP: #1401488)
      . USC - mouse cursor on AMD graphics is drawing incorrectly
        (LP: #1391975)
      . Mir fails to start when a TV is connected by HDMI
        [std::exception::what: Invalid or inconsistent display configuration]
        (LP: #1395405)
      . Input/event driven clients may freeze indefinitely (LP: #1396006)
      . Mir server crashes with "std::exception::what: Failed to get front
        buffer object" when trying to fullscreen a surface (LP: #1398296)
      . Switching windows with a Trusted Prompt Session active loses the
        trusted prompt session (LP: #1355173)
      . CI test failure in multiple tests (LP: #1401364)
      . dh_install: usr/bin/mir_demo_server exists in debian/tmp but is not
        installed to anywhere (LP: #1401365)
      . [regression] demo-shell: Instead of moving surfaces they now fly
        off-screen (LP: #1403702)
      . [regression] Binaries are no longer runnable on other machines (or in
        other directories) (LP: #1406073)
      . [i865] unity-system-compositor fails to start: Failed to choose ARGB
        EGL config (LP: #1212753)
      . Mir's compositor holds buffers (blocking clients) for the duration of
        the frame, even when not necessary. (LP: #1264934)
      . Screen goes blank (black) briefly during display config changes which
        don't affect the display mode (LP: #1274359)
      . [enhancement] There should be a quit signal sent to sessions instead
        of killing them dir...

Read more...

Changed in mir (Ubuntu):
status: Confirmed → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
Barry Warsaw (barry) wrote :

This shouldn't be an issue for system-image. it should respond properly to SIGTERM.

no longer affects: system-image (Ubuntu)
Daniel van Vugt (vanvugt) wrote :

Please don't make this bug a duplicate. It had an explicit fix committed already back in 2014.

The QtMir part is bug 1434584.

Changed in qtmir:
status: New → Invalid
Changed in unity-mir:
status: Confirmed → Invalid
Changed in unity-mir (Ubuntu):
status: Confirmed → Invalid
Michał Sawicz (saviq) on 2017-03-13
affects: qtmir → qtmir (Ubuntu)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers