Merge lp:~alan-griffiths/mir/fix-1526658 into lp:mir
Status: | Merged |
---|---|
Approved by: | Alan Griffiths |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3286 |
Proposed branch: | lp:~alan-griffiths/mir/fix-1526658 |
Merge into: | lp:mir |
Prerequisite: | lp:~kdub/mir/0.19-stanzas |
Diff against target: |
172 lines (+60/-29) 5 files modified
src/client/probing_client_platform_factory.cpp (+24/-23) src/common/sharedlibrary/CMakeLists.txt (+1/-1) src/common/sharedlibrary/shared_library_prober.cpp (+20/-5) src/common/symbols.map (+7/-0) src/include/common/mir/shared_library_prober.h (+8/-0) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/fix-1526658 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Daniel van Vugt | Approve | ||
Cemil Azizoglu (community) | Approve | ||
Alexandros Frantzis (community) | Approve | ||
Alberto Aguirre (community) | Approve | ||
Mir CI Bot | continuous-integration | Approve | |
Review via email: mp+284439@code.launchpad.net |
Commit message
common, client: a more flexible way to probe modules: once we've found a good current platform we don't even try to load an older one. (More cleanup related to cases of lp:1526658)
Description of the change
common, client: a more flexible way to probe modules: once we've found a good current platform we don't even try to load an older one. (More cleanup related to cases of lp:1526658)
Some background from the bug history:
1. the mesa.so.2 client platform module leaks symbols and dl handle to itself when *loaded*.
2. the mesa.so.3 client platform module leaks symbols and dl handle to itself when *used*. It can be loaded and probed safely.
3. the mesa.so.4 client platform module leaks symbols when *used*. It can be loaded and probed safely.
libmirclient8 from Mir-0.13 (say) needs mesa.so.2 but can load and probe mesa.so.3/4 (see 2, 3 above).
Various fixes have been applied in the libmirclient9 series, and in 0.19 for_path() ordered the modules by "so number descending", but still loaded all the modules before doing so. As mentioned in 1 above this is problematic. The workaround in the bug is to uninstall mesa2.
This proposal continues to orders modules by "so number descending" but create_
That means that libmirclient8/mesa2 can safely co-exist with libmirclient9/
PASSED: Continuous integration, rev:3283 /mir-jenkins. ubuntu. com/job/ mir-ci/ 187/ /mir-jenkins. ubuntu. com/job/ generic- update- mp/188/ console
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 187/rebuild
https:/