Merge lp:~vanvugt/mir/fix-1391976 into lp:mir
| Status: | Merged |
|---|---|
| Approved by: | Daniel van Vugt on 2015-06-25 |
| Approved revision: | 2705 |
| Merged at revision: | 2701 |
| Proposed branch: | lp:~vanvugt/mir/fix-1391976 |
| Merge into: | lp:mir |
| Prerequisite: | lp:~vanvugt/mir/test-1391976 |
| Diff against target: |
54 lines (+13/-5) 3 files modified
src/protobuf/CMakeLists.txt (+1/-1) src/protobuf/google_protobuf_guard.cpp (+9/-0) tests/loader-tests/CMakeLists.txt (+3/-4) |
| To merge this branch: | bzr merge lp:~vanvugt/mir/fix-1391976 |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| PS Jenkins bot | continuous-integration | Approve on 2015-06-25 | |
| Robert Carr (community) | Approve on 2015-06-24 | ||
| Kevin DuBois (community) | Approve on 2015-06-23 | ||
| Alexandros Frantzis (community) | 2015-06-23 | Approve on 2015-06-23 | |
|
Review via email:
|
|||
Commit Message
Fix^H^H^H Work around protobuf reload issues so that it's always safe
to un/reload libmirprotobuf multiple times. (LP: #1391976)
Technically a proper fix will come from libprotobuf itself but this way
we don't need to wait for that.
Description of the Change
I expect CI might reject this reporting leaks. I'll get to that and add any suppressions required tomorrow.
| Alexandros Frantzis (afrantzis) wrote : | # |
OK as a workaround, although I feel slightly uncomfortable since it's not expected for libraries to forcibly keep other libraries in memory.
I am working on the proper fix on the protobuf side, which is to ensure libprotobuf doesn't export unnecessary symbols.
| Kevin DuBois (kdub) wrote : | # |
Alright (and can't think of a better way to do this, short of going upstream)
| Daniel van Vugt (vanvugt) wrote : | # |
It's actually logically perfectly safe. Because already, no function can ever assume there's not some other function in the same process that has loaded and is using the same libraries as itself.
The requirement that modules share the same process and that you can never know the internal reference count of a dl-opened library is pre-existing.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2704
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Alberto Aguirre (albaguirre) wrote : | # |
Un TA'ed as pre-req failed autolanding
- 2705. By Daniel van Vugt on 2015-06-25
-
Merge latest parent branch (and trunk)
| Daniel van Vugt (vanvugt) wrote : | # |
More sad that this is not the first time I've used this workaround. I've had to do it in previous jobs too and on other Unixes.
The CI failures appear to be unrelated infrastructure faults. The first Jenkins run passed...
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2705
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

PASSED: Continuous integration, rev:2703 jenkins. qa.ubuntu. com/job/ mir-ci/ 4170/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/2956 jenkins. qa.ubuntu. com/job/ mir-clang- wily-amd64- build/471 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/2904 jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 326 jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 326/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 2904 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 2904/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/5728 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 21393
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/4170/ rebuild
http://