build: propagate ASAN/TSAN flags down to cmake_external deps.#6196
build: propagate ASAN/TSAN flags down to cmake_external deps.#6196htuch wants to merge 8 commits intoenvoyproxy:masterfrom
Conversation
While we await a solution for bazel-contrib/rules_foreign_cc#154 (comment), this PR provides a temporary workaround to get full ASAN/TSAN propagation as needed. This continues envoyproxy#6061, which had accumulated too much complicated merge history to work with after the recent gperftools/LuaJIT migration to rules_foreign_cc. Risk level: Low Testing: --config=clang-{tsan,asan}. This is broken in the latest CI images due to the mismatched linker/compiler flags we previously had been sending to cmake_external builds. Signed-off-by: Harvey Tuch <htuch@google.com>
|
OK, this is great, we don't need the |
|
It looks that the Lua tests are failing with ASan/TSan, could you investigate? Though, the issue is most likely with Lua itself, and not with your changes, which only uncovered it. |
|
@PiotrSikora I know, I'm digging into this now. I'm hoping I can figure out a way to workaround these Envoy side, if not upstream, in a timely way, this is blocker for the coverage work atm. |
|
@htuch another way to approach this, assuming Lua issues are going to take more than a day or two to resolve, is to temporarily exclude Lua tests from ASan and TSan runs, since this PR is an improvement, all things considered, and it's not the reason for the breakage. |
This is needed to unblock envoyproxy#6196 while libevent/libevent#741 (and consequently envoyproxy#6083) go unresolved. It's not particularly wonderful, but it will allow us to make progress independent of the libevent work. Risk level: Low Testing: TSAN runs with envoyproxy#6196. Signed-off-by: Harvey Tuch <htuch@google.com>
|
or blacklist Lua itself from being instrumented by ASAN? https://github.com/google/sanitizers/wiki/AddressSanitizer#turning-off-instrumentation |
This is needed to unblock #6196 while libevent/libevent#741 (and consequently #6083) go unresolved. It's not particularly wonderful, but it will allow us to make progress independent of the libevent work. Risk level: Low Testing: TSAN runs with #6196. Signed-off-by: Harvey Tuch <htuch@google.com>
|
@lizan I think I'll blacklist, I've been looking at these errors and there are a few different varieties. We need someone to spend some serious time looking at this, it's not a high priority right now for us though. |
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
|
Sigh, now we have some unrelated LSAN issue with host |
|
@htuch I see that on some other PRs as well, so it might not directly related to this PR. Could be some docker capabilities issue with Circle. /retest |
|
🔨 rebuilding |
Signed-off-by: Harvey Tuch <htuch@google.com>
|
@lizan I think I have a fix based on what you did for LuaJIT. This should hopefully help other PRs. |
|
@htuch seems it didn't help, |
|
@lizan I don't think there is a clear split of host/target in https://github.com/protocolbuffers/protobuf/blob/master/BUILD. I will continue to investigate in this PR. |
Signed-off-by: Harvey Tuch <htuch@google.com>
|
This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
|
This pull request has been automatically closed because it has not had activity in the last 14 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
While we await a solution for bazel-contrib/rules_foreign_cc#154 (comment), this PR provides a
temporary workaround to get full ASAN/TSAN propagation as needed.
This continues #6061, which had accumulated too much
complicated merge history to work with after the recent gperftools/LuaJIT migration to
rules_foreign_cc.
Risk level: Low
Testing: --config=clang-{tsan,asan}. This is broken in the latest CI images due to the mismatched
linker/compiler flags we previously had been sending to cmake_external builds.
Signed-off-by: Harvey Tuch htuch@google.com