← Back to team overview

touch-packages team mailing list archive

[Bug 1351444] Re: SessionSwitcher can remove valid sessions from its map since it only checks the name

 

** Changed in: unity-system-compositor
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity-system-compositor in
Ubuntu.
https://bugs.launchpad.net/bugs/1351444

Title:
  SessionSwitcher can remove valid sessions from its map since it only
  checks the name

Status in Unity System Compositor:
  Fix Released
Status in “unity-system-compositor” package in Ubuntu:
  Fix Released

Bug description:
  SessionSwitcher can remove valid sessions from its map since it only
  checks the name.

  Normally that's ok, except when a session crashes. What can happen is

  Session A with name "session-0" starts, SessionSwitcher registers "session-0" in its internal map.
  At some point this client crashes but it's process has not been killed yet maybe because apport is collecting data so the mir session on the server side is still alive.

  Session B with name also "session-0" starts up and registers with SessionSwitcher.
  SessionSwitcher replaces the entry associated with name "session-0" in its map with the new session pointer.

  Apport finishes up collecting data so the process is now killed. Mir closes SessionA as the process has exited.
  SessionSwitcher is told to remove session name "session-0", which is associated with Sesssion B now (because it does not check the session pointer) so SessionSwitcher decides to show the spinner since the "active" session has been closed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity-system-compositor/+bug/1351444/+subscriptions