-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
Description
Description:
There is a data race in HeaderMapImpl that's reported only when linking TSan with libc++.
Repro steps:
bazel test --config=clang-tsan --config=libc++ //test/...
Note that the data race is not reported when compiled with -c opt.
Logs:
The test results are a bit flaky, so this varies from run to run, but this is a sample list of tests that fail because of this failure:
//test/extensions/filters/http/cors:cors_filter_integration_test FAILED in 29.7s
//test/extensions/filters/http/csrf:csrf_filter_integration_test FAILED in 124.2s
//test/extensions/filters/http/lua:lua_integration_test FAILED in 35.5s
//test/extensions/filters/http/rbac:rbac_filter_integration_test FAILED in 90.0s
//test/extensions/filters/http/tap:tap_filter_integration_test FAILED in 33.9s
//test/integration:ads_integration_test FAILED in 123.3s
//test/integration:cds_integration_test FAILED in 29.0s
//test/integration:eds_integration_test FAILED in 35.4s
//test/integration:hds_integration_test FAILED in 14.9s
//test/integration:header_integration_test FAILED in 124.5s
//test/integration:integration_test FAILED in 189.4s
//test/integration:load_stats_integration_test FAILED in 52.1s
//test/integration:overload_integration_test FAILED in 59.7s
//test/integration:websocket_integration_test FAILED in 135.7s
//test/integration:idle_timeout_integration_test FAILED in 2 out of 2 in 171.8s
//test/integration:protocol_integration_test FAILED in 3 out of 3 in 188.8s
Call Stack:
[ RUN ] Protocols/ProtocolIntegrationTest.HittingEncoderFilterLimit/IPv6_HttpDownstream_HttpUpstream
==================
WARNING: ThreadSanitizer: data race (pid=2820)
Write of size 8 at 0x7b5800004170 by main thread:
#0 std::__1::__list_imp<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::__unlink_nodes(std::__1::__list_node_base<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, void*>*, std::__1::__list_node_base<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, void*>*) <null> (protocol_integration_test+0x1aeef28)
#1 std::__1::__list_imp<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::clear() <null> (protocol_integration_test+0x1aeecd4)
#2 std::__1::__list_imp<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::~__list_imp() <null> (protocol_integration_test+0x1aeec28)
#3 std::__1::list<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::~list() <null> (protocol_integration_test+0x1aeebe8)
#4 Envoy::Http::HeaderMapImpl::HeaderList::~HeaderList() <null> (protocol_integration_test+0x1aeeb98)
#5 Envoy::Http::HeaderMapImpl::~HeaderMapImpl() <null> (protocol_integration_test+0x1aeeb51)
#6 Envoy::Http::HeaderMapImpl::~HeaderMapImpl() <null> (protocol_integration_test+0x4e8c31c)
#7 std::__1::default_delete<Envoy::Http::HeaderMapImpl>::operator()(Envoy::Http::HeaderMapImpl*) const <null> (protocol_integration_test+0x1c3ca9e)
#8 std::__1::__shared_ptr_pointer<Envoy::Http::HeaderMapImpl*, std::__1::default_delete<Envoy::Http::HeaderMapImpl>, std::__1::allocator<Envoy::Http::HeaderMapImpl> >::__on_zero_shared() <null> (protocol_integration_test+0x1c3c719)
#9 std::__1::__shared_weak_count::__release_shared() <null> (protocol_integration_test+0x505a70d)
#10 Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool) <null> (protocol_integration_test+0x1bfd6e2)
#11 Envoy::ProtocolIntegrationTest_HittingEncoderFilterLimit_Test::TestBody() <null> (protocol_integration_test+0x1aafc1f)
#12 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x50045b6)
#13 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x4fea30e)
#14 testing::Test::Run() <null> (protocol_integration_test+0x4fcf53b)
#15 testing::TestInfo::Run() <null> (protocol_integration_test+0x4fd045e)
#16 testing::TestSuite::Run() <null> (protocol_integration_test+0x4fd0e84)
#17 testing::internal::UnitTestImpl::RunAllTests() <null> (protocol_integration_test+0x4fe02ea)
#18 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x500a806)
#19 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x4fedf2e)
#20 testing::UnitTest::Run() <null> (protocol_integration_test+0x4fdfb9b)
#21 RUN_ALL_TESTS() <null> (protocol_integration_test+0x3a85097)
#22 Envoy::TestRunner::RunTests(int, char**) <null> (protocol_integration_test+0x3a84365)
#23 main <null> (protocol_integration_test+0x3a8302b)
Previous read of size 8 at 0x7b5800004170 by thread T11:
#0 std::__1::__list_imp<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::begin() const <null> (protocol_integration_test+0x4e8c886)
#1 std::__1::list<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::begin() const <null> (protocol_integration_test+0x4e8c828)
#2 Envoy::Http::HeaderMapImpl::HeaderList::begin() const <null> (protocol_integration_test+0x4e8b418)
#3 Envoy::Http::HeaderMapImpl::iterate(Envoy::Http::HeaderMap::Iterate (*)(Envoy::Http::HeaderEntry const&, void*), void*) const <null> (protocol_integration_test+0x4e8999f)
#4 Envoy::Http::Http1::StreamEncoderImpl::encodeHeaders(Envoy::Http::HeaderMap const&, bool) <null> (protocol_integration_test+0x3563f43)
#5 Envoy::Http::Http1::ResponseStreamEncoderImpl::encodeHeaders(Envoy::Http::HeaderMap const&, bool) <null> (protocol_integration_test+0x356582e)
#6 Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1::operator()() const <null> (protocol_integration_test+0x1c0b7e1)
#7 decltype(std::__1::forward<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1&>(fp)()) std::__1::__invoke<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1&>(Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1&) <null> (protocol_integration_test+0x1c0b700)
#8 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1&>(Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1&) <null> (protocol_integration_test+0x1c0b660)
#9 std::__1::__function::__alloc_func<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1, std::__1::allocator<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1>, void ()>::operator()() <null> (protocol_integration_test+0x1c0b600)
#10 std::__1::__function::__func<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1, std::__1::allocator<Envoy::FakeStream::encodeHeaders(Envoy::Http::HeaderMapImpl const&, bool)::$_1>, void ()>::operator()() <null> (protocol_integration_test+0x1c09c9c)
#11 std::__1::__function::__value_func<void ()>::operator()() const <null> (protocol_integration_test+0x1bed988)
#12 std::__1::function<void ()>::operator()() const <null> (protocol_integration_test+0x1bed678)
#13 Envoy::Event::DispatcherImpl::runPostCallbacks() <null> (protocol_integration_test+0x3eab831)
#14 Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1::operator()() const <null> (protocol_integration_test+0x3eafcd8)
#15 decltype(std::__1::forward<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(fp)()) std::__1::__invoke<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&) <null> (protocol_integration_test+0x3eafc60)
#16 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&) <null> (protocol_integration_test+0x3eafbc0)
#17 std::__1::__function::__alloc_func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1>, void ()>::operator()() <null> (protocol_integration_test+0x3eafb60)
#18 std::__1::__function::__func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1>, void ()>::operator()() <null> (protocol_integration_test+0x3eae1bc)
#19 std::__1::__function::__value_func<void ()>::operator()() const <null> (protocol_integration_test+0x1bed988)
#20 std::__1::function<void ()>::operator()() const <null> (protocol_integration_test+0x1bed678)
#21 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &(event_base_free)>&, std::__1::function<void ()>)::$_0::operator()(int, short, void*) const <null> (protocol_integration_test+0x3fd3c63)
#22 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &(event_base_free)>&, std::__1::function<void ()>)::$_0::__invoke(int, short, void*) <null> (protocol_integration_test+0x3fd3be7)
#23 event_process_active_single_queue <null> (protocol_integration_test+0x4e7629c)
#24 event_base_loop <null> (protocol_integration_test+0x4e70f48)
#25 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) <null> (protocol_integration_test+0x3fd2295)
#26 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) <null> (protocol_integration_test+0x3eab6f1)
#27 Envoy::FakeUpstream::threadRoutine() <null> (protocol_integration_test+0x1c0423f)
#28 Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11::operator()() const <null> (protocol_integration_test+0x1c21ee8)
#29 decltype(std::__1::forward<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(fp)()) std::__1::__invoke<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&) <null> (protocol_integration_test+0x1c21e70)
#30 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&) <null> (protocol_integration_test+0x1c21dd0)
#31 std::__1::__function::__alloc_func<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11, std::__1::allocator<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11>, void ()>::operator()() <null> (protocol_integration_test+0x1c21d70)
#32 std::__1::__function::__func<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11, std::__1::allocator<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11>, void ()>::operator()() <null> (protocol_integration_test+0x1c203cc)
#33 std::__1::__function::__value_func<void ()>::operator()() const <null> (protocol_integration_test+0x1bed988)
#34 std::__1::function<void ()>::operator()() const <null> (protocol_integration_test+0x1bed678)
#35 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const <null> (protocol_integration_test+0x4e4bf18)
#36 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) <null> (protocol_integration_test+0x4e4bea8)
Location is heap block of size 648 at 0x7b5800003f00 allocated by main thread:
#0 malloc <null> (protocol_integration_test+0x1a15fc7)
#1 operator new(unsigned long) <null> (protocol_integration_test+0x505b2a9)
#2 Envoy::ProtocolIntegrationTest_HittingEncoderFilterLimit_Test::TestBody() <null> (protocol_integration_test+0x1aafc1f)
#3 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x50045b6)
#4 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x4fea30e)
#5 testing::Test::Run() <null> (protocol_integration_test+0x4fcf53b)
#6 testing::TestInfo::Run() <null> (protocol_integration_test+0x4fd045e)
#7 testing::TestSuite::Run() <null> (protocol_integration_test+0x4fd0e84)
#8 testing::internal::UnitTestImpl::RunAllTests() <null> (protocol_integration_test+0x4fe02ea)
#9 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x500a806)
#10 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x4fedf2e)
#11 testing::UnitTest::Run() <null> (protocol_integration_test+0x4fdfb9b)
#12 RUN_ALL_TESTS() <null> (protocol_integration_test+0x3a85097)
#13 Envoy::TestRunner::RunTests(int, char**) <null> (protocol_integration_test+0x3a84365)
#14 main <null> (protocol_integration_test+0x3a8302b)
Thread T11 (tid=14848, running) created by main thread at:
#0 pthread_create <null> (protocol_integration_test+0x1a174b5)
#1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) <null> (protocol_integration_test+0x4e4ba35)
#2 std::__1::__unique_if<Envoy::Thread::ThreadImplPosix>::__unique_single std::__1::make_unique<Envoy::Thread::ThreadImplPosix, std::__1::function<void ()>&>(std::__1::function<void ()>&) <null> (protocol_integration_test+0x4e4c200)
#3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) <null> (protocol_integration_test+0x4e4bdbb)
#4 Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool) <null> (protocol_integration_test+0x1c02b2c)
#5 Envoy::FakeUpstream::FakeUpstream(std::__1::shared_ptr<Envoy::Network::Address::Instance const> const&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool) <null> (protocol_integration_test+0x1c030a7)
#6 Envoy::BaseIntegrationTest::createUpstreams() <null> (protocol_integration_test+0x1c54913)
#7 Envoy::BaseIntegrationTest::initialize() <null> (protocol_integration_test+0x1c53ea4)
#8 Envoy::ProtocolIntegrationTest_HittingEncoderFilterLimit_Test::TestBody() <null> (protocol_integration_test+0x1aafa62)
#9 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x50045b6)
#10 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (protocol_integration_test+0x4fea30e)
#11 testing::Test::Run() <null> (protocol_integration_test+0x4fcf53b)
#12 testing::TestInfo::Run() <null> (protocol_integration_test+0x4fd045e)
#13 testing::TestSuite::Run() <null> (protocol_integration_test+0x4fd0e84)
#14 testing::internal::UnitTestImpl::RunAllTests() <null> (protocol_integration_test+0x4fe02ea)
#15 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x500a806)
#16 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (protocol_integration_test+0x4fedf2e)
#17 testing::UnitTest::Run() <null> (protocol_integration_test+0x4fdfb9b)
#18 RUN_ALL_TESTS() <null> (protocol_integration_test+0x3a85097)
#19 Envoy::TestRunner::RunTests(int, char**) <null> (protocol_integration_test+0x3a84365)
#20 main <null> (protocol_integration_test+0x3a8302b)
SUMMARY: ThreadSanitizer: data race (/ramdisk/piotrsikora/cache/bazel/_bazel_piotrsikora/052b53ce070b0dcea90180b82120ed3b/execroot/envoy/bazel-out/k8-fastbuild/bin/test/integration/protocol_integration_test+0x1aeef28) in std::__1::__list_imp<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, std::__1::allocator<Envoy::Http::HeaderMapImpl::HeaderEntryImpl> >::__unlink_nodes(std::__1::__list_node_base<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, void*>*, std::__1::__list_node_base<Envoy::Http::HeaderMapImpl::HeaderEntryImpl, void*>*)
==================
cc @lizan
Reactions are currently unavailable