Mir

[regression] Platform libraries and packages are not versioned

Bug #1423591 reported by Alexandros Frantzis
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alexandros Frantzis
mir (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Our graphics/client platform libraries and packages are not versioned and thus are not installable in parallel.

Since our other libraries are installable in parallel, this can lead to problems like the one seen in [1]:

1. Start with a system that has Mir 0.11 (mirserver19, mirplatform6, MIR_GRAPHICS_PLATFORM_1).
2. Bump mirserver ABI 20 in *trunk*, build and install packages (mirserver20, mirplatform7, MIR_GRAPHICS_PLATFORM_2).
3. Applications that use mirserver19 (e.g. USC) will load the new graphics platform modules, try to load a symbol with version
MIR_GRAPHICS_PLATFORM_1 (which is what mirserver19 works with) and fail.

Note that this doesn't happen if we don't bump the mirserver ABI, because in that case when installing the new package we replace the system mirserver19 with a version that looks for MIR_GRAPHICS_PLATFORM_2, which is the correct version for the new graphics platform binaries.

[1] https://code.launchpad.net/~alan-griffiths/mir/test-ABI-bump-libmirserver/+merge/250177

Tags: regression

Related branches

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

We also need ABI compliance checker to detect breaks on the graphics/client platform libraries.

Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
status: New → In Progress
Changed in mir:
milestone: none → 0.12.0
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.12.0

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'm pretty sure we don't want to backport this to 0.11. It's a significant ABI change.

no longer affects: mir/0.11
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The problem originated in:

------------------------------------------------------------
revno: 2179 [merge]
author: Christopher James Halse Rogers <email address hidden>, Andreas Pokorny <email address hidden>
committer: Tarmac
branch nick: development-branch
timestamp: Fri 2014-12-19 14:10:18 +0000
message:
  Add probing for client platform modules.

  The client library now looks in MIR_CLIENT_PLATFORM_PATH (usually /usr/lib/*/mir/client-platform) and loads all the modules it finds in there. At connection time each of those modules are checked whether the MirPlatformPackage matches what they expect; the first one that matches is used.

  Approved by PS Jenkins bot, Alan Griffiths, Andreas Pokorny, Chris Halse Rogers, Robert Carr.
------------------------------------------------------------

summary: - Platform libraries and packages are not versioned
+ [regression] Platform libraries and packages are not versioned
tags: added: regression
Changed in mir (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in mir:
milestone: 0.12.0 → 0.13.0
Kevin DuBois (kdub)
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.12.0+15.04.20150228-0ubuntu1

---------------
mir (0.12.0+15.04.20150228-0ubuntu1) vivid; urgency=medium

  [ Alberto Aguirre ]
  * New upstream release 0.12.0 (https://launchpad.net/mir/+milestone/0.12.0)
    - Packaging changes:
      . Client platform packages now include the Mir client platform ABI
        number. Thusly, mir-client-platform-(mesa|android) is replaced by
        mir-client-platform-(mesa|android)2
      . Server graphics platform packages now include the Mir graphics
        platform ABI number. Thusly, mir-platform-graphics-(mesa|android)
        is replaced by mir-platform-graphics-(mesa|android)1
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 3
      . Mirplatform ABI unchanged at 6
      . Mirserver ABI bumped to 30
    - Bug fixes:
      . [regression] Platform libraries and packages are not versioned thus
        are not installable in parallel (LP: #1423591)
      . [regression] Deadlock in TimeoutFrameDroppingPolicy logic (LP: #1421255)

  [ CI Train Bot ]
  * New rebuild forced.
 -- CI Train Bot <email address hidden> Sat, 28 Feb 2015 10:30:53 +0000

Changed in mir (Ubuntu):
status: Triaged → Fix Released
Changed in mir:
status: Fix Released → Fix Committed
milestone: 0.13.0 → 0.12.0
status: Fix Committed → Fix Released
no longer affects: mir/0.12
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.