diff --git a/.bazelrc b/.bazelrc index 1cb3caaa6a9fa..fa8d80a0242d7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -89,6 +89,9 @@ build:clang-tsan --build_tag_filters=-no_san,-no_tsan build:clang-tsan --test_tag_filters=-no_san,-no_tsan # Needed due to https://github.com/libevent/libevent/issues/777 build:clang-tsan --copt -DEVENT__DISABLE_DEBUG_MODE +# https://github.com/abseil/abseil-cpp/issues/760 +# https://github.com/google/sanitizers/issues/953 +build:clang-tsan --test_env="TSAN_OPTIONS=report_atomic_races=0" # Clang MSAN - this is the base config for remote-msan and docker-msan. To run this config without # our build image, follow https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 73698991a2f4f..11cf908a21c05 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -95,10 +95,10 @@ DEPENDENCY_REPOSITORIES = dict( cpe = "N/A", ), com_google_absl = dict( - sha256 = "ec8ef47335310cc3382bdc0d0cc1097a001e67dc83fcba807845aa5696e7e1e4", - strip_prefix = "abseil-cpp-302b250e1d917ede77b5ff00a6fd9f28430f1563", - # 2020-07-13 - urls = ["https://github.com/abseil/abseil-cpp/archive/302b250e1d917ede77b5ff00a6fd9f28430f1563.tar.gz"], + sha256 = "573baccd67aa591b8c7209bfb0c77e0d15633d77ced39d1ccbb1232828f7f7d9", + strip_prefix = "abseil-cpp-ce4bc927755fdf0ed03d679d9c7fa041175bb3cb", + # 2020-08-08 + urls = ["https://github.com/abseil/abseil-cpp/archive/ce4bc927755fdf0ed03d679d9c7fa041175bb3cb.tar.gz"], use_category = ["dataplane", "controlplane"], cpe = "N/A", ), diff --git a/test/integration/fake_upstream.cc b/test/integration/fake_upstream.cc index 476922bd8a68a..b20ff0318398f 100644 --- a/test/integration/fake_upstream.cc +++ b/test/integration/fake_upstream.cc @@ -709,7 +709,7 @@ FakeRawConnection::waitForData(const std::function& da AssertionResult FakeRawConnection::write(const std::string& data, bool end_stream, milliseconds timeout) { return shared_connection_.executeOnDispatcher( - [&data, end_stream](Network::Connection& connection) { + [data, end_stream](Network::Connection& connection) { Buffer::OwnedImpl to_write(data); connection.write(to_write, end_stream); }, diff --git a/test/integration/fake_upstream.h b/test/integration/fake_upstream.h index 46287d7a5191f..0c23c42e4b418 100644 --- a/test/integration/fake_upstream.h +++ b/test/integration/fake_upstream.h @@ -300,7 +300,7 @@ class SharedConnectionWrapper : public Network::ConnectionCallbacks { return testing::AssertionSuccess(); } Thread::CondVar callback_ready_event; - bool unexpected_disconnect = false; + std::atomic unexpected_disconnect = false; connection_.dispatcher().post( [this, f, &callback_ready_event, &unexpected_disconnect]() -> void { // The use of connected() here, vs. !disconnected_, is because we want to use the lock_