Details
-
Task
-
Resolution: Fixed
-
Major
-
3.1.4
Description
We want to be able to run the C/C++ components of 3.x under ThreadSanitizer, to detect threading issues. This should be done during commit-validation, similar to the watson/master commit-validation jobs (e.g. http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-master/)
Approach
A pretty straightforward way to achieve this is to enable the building of rel-3.0.x.xml on the current watson build slaves (ubuntu12.04-cv), as these already have all the Clang-related tooling for ThreadSanitizer. (That is opposed to modifying the 3.x builders to add Clang/ThreadSanitizer). Afiak there's two main things needed to achieve this:
- Backport our CMake changes to enable and configure building with ThreadSanitzer - see
MB-15435. - Optionally allow the use of the sherlock/watson pre-packaged 3rd party dependancies (cbdeps); as the ubuntu12-cv images do /not/ already have the various 3rd party dependancies which 3.x normally uses installed.
Attachments
Issue Links
For Gerrit Dashboard: MB-19203 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
62566,9 | MB-19203: Add support for building with ThreadSanitizer (C/C++) | 3.0.0 | tlm | Status: MERGED | +2 | +1 |
62773,4 | MB-19203: Allow use of non-windows cbdeps from Sherlock | 3.0.0 | tlm | Status: MERGED | +2 | +1 |
63221,3 | MB-19203: Only use cbdeps on MacOS | 3.0.x | voltron | Status: MERGED | +2 | +1 |
63241,2 | MB-19203: Remove MacOS cbdeps (not supported in 3.x except Erlang) | 3.0.0 | tlm | Status: MERGED | +2 | +1 |
68739,3 | MB-19203: Add support for building with ThreadSanitizer (C/C++) | sherlock | tlm | Status: ABANDONED | 0 | +1 |