Page MenuHomePhabricator

[backport#19041] ci: tsan with -stdlib=libc++-10
ClosedPublic

Authored by majcosta on Sep 24 2020, 10:26.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Commits
rABC93237957b817: [backport#19041] ci: tsan with -stdlib=libc++-10
Summary

ci: Remove unused workaround (MarcoFalke)
ci: Install llvm to get llvm symbolizer (MarcoFalke)
test: Add more tsan suppressions (MarcoFalke)
ci: Mute depends logs completely (MarcoFalke)
test: Extend tsan suppressions for clang stdlib (MarcoFalke)
ci: Use libc++ instead of libstdc++ for tsan (MarcoFalke)
ci: Set halt_on_error=1 for tsan (MarcoFalke)
ci: Deduplicate DOCKER_EXEC (MarcoFalke)
cirrus: Remove no longer needed install step (MarcoFalke)

Pull request description:

According to the [ThreadSanitizer docs](https://clang.llvm.org/docs/ThreadSanitizer.html#current-status):
>  C++11 threading is supported with **llvm libc++**.

For example, the thread sanitizer build is currently not checking for double lock of mutexes.

Fixes (partially) https://github.com/bitcoin/bitcoin/issues/19038#issuecomment-632138003

EDIT: included our own code's suppressions so the test is green

Backport of Core PR19041

Test Plan

with clang-10 on archlinux:

cmake -GNinja -DENABLE_SANITIZERS=thread -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
ninja check check-functional

threadsanitizer is green only gives out warnings about code that is exclusive to us (specifically, rcu_tests.cpp and doublelock of mutex in paymentserver qt code)

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

[Bot Message]
One or more PR numbers were detected in the summary.
Links to those PRs have been inserted into the summary for reference.

deadalnix requested changes to this revision.Sep 24 2020, 10:35
deadalnix added a subscriber: deadalnix.

Then either fix those or add exceptions. This is useless if it's not green and checked on a regular basis.

This revision now requires changes to proceed.Sep 24 2020, 10:35

add our own suppressions to green the test

majcosta edited the test plan for this revision. (Show Details)
This revision is now accepted and ready to land.Sep 24 2020, 11:45