Skip to content

ads_integration_test flake #7576

@mattklein123

Description

@mattklein123
[ RUN      ] IpVersionsClientType/AdsIntegrationTest.ListenerDrainBeforeServerStart/0
==================
WARNING: ThreadSanitizer: data race (pid=1251)
  Read of size 8 at 0x7b5800054020 by main thread:
    #0 memcpy <null> (ads_integration_test+0x15ce2bd)
    #1 Envoy::Server::ListenerManagerImpl::dumpListenerConfigs() /proc/self/cwd/source/server/listener_manager_impl.cc:458:43 (ads_integration_test+0x19f85f6)
    #2 Envoy::Server::ListenerManagerImpl::ListenerManagerImpl(Envoy::Server::Instance&, Envoy::Server::ListenerComponentFactory&, Envoy::Server::WorkerFactory&, bool)::$_3::operator()() const /proc/self/cwd/source/server/listener_manager_impl.cc:428:40 (ads_integration_test+0x19ff44a)
    #3 std::_Function_handler<std::unique_ptr<google::protobuf::Message, std::default_delete<google::protobuf::Message> > (), Envoy::Server::ListenerManagerImpl::ListenerManagerImpl(Envoy::Server::Instance&, Envoy::Server::ListenerComponentFactory&, Envoy::Server::WorkerFactory&, bool)::$_3>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:301:9 (ads_integration_test+0x19ff1e9)
    #4 std::function<std::unique_ptr<google::protobuf::Message, std::default_delete<google::protobuf::Message> > ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (ads_integration_test+0x17191f0)
    #5 Envoy::(anonymous namespace)::AdsIntegrationTest::getListenersConfigDump() /proc/self/cwd/test/integration/ads_integration_test.cc:308:9 (ads_integration_test+0x1666656)
    #6 Envoy::(anonymous namespace)::AdsIntegrationTest_ListenerDrainBeforeServerStart_Test::TestBody() /proc/self/cwd/test/integration/ads_integration_test.cc:974:3 (ads_integration_test+0x16b5e33)
    #7 non-virtual thunk to Envoy::(anonymous namespace)::AdsIntegrationTest_ListenerDrainBeforeServerStart_Test::TestBody() /proc/self/cwd/test/integration/ads_integration_test.cc (ads_integration_test+0x16b750c)
    #8 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (ads_integration_test+0x4512c06)
    #9 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (ads_integration_test+0x44f8461)
    #10 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2522:5 (ads_integration_test+0x44d844b)
    #11 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2698:11 (ads_integration_test+0x44d9579)
    #12 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2828:28 (ads_integration_test+0x44d9ff4)
    #13 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5285:44 (ads_integration_test+0x44ed7d7)
    #14 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (ads_integration_test+0x4518a76)
    #15 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (ads_integration_test+0x44fc367)
    #16 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4873:10 (ads_integration_test+0x44ecffe)
    #17 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2453:46 (ads_integration_test+0x3109d27)
    #18 Envoy::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:121:12 (ads_integration_test+0x3109239)
    #19 main /proc/self/cwd/test/main.cc:38:10 (ads_integration_test+0x31079c4)

  Previous write of size 8 at 0x7b5800054020 by thread T25:
    #0 memcpy <null> (ads_integration_test+0x15ce2bd)
    #1 Envoy::Server::ListenerImpl::initialize() /proc/self/cwd/source/server/listener_manager_impl.cc:380:17 (ads_integration_test+0x19f6253)
    #2 Envoy::Server::ListenerManagerImpl::addOrUpdateListener(envoy::api::v2::Listener const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /proc/self/cwd/source/server/listener_manager_impl.cc:601:20 (ads_integration_test+0x19fac27)
    #3 Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::api::v2::Resource> const&, google::protobuf::RepeatedPtrField<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc:59:29 (ads_integration_test+0x1adb2c3)
    #4 Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc:108:3 (ads_integration_test+0x1adbe52)
    #5 non-virtual thunk to Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc (ads_integration_test+0x1adbf2c)
    #6 Envoy::Config::GrpcMuxSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/common/config/grpc_mux_subscription_impl.cc:56:14 (ads_integration_test+0x2f97431)
    #7 non-virtual thunk to Envoy::Config::GrpcMuxSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/common/config/grpc_mux_subscription_impl.cc (ads_integration_test+0x2f9772c)
    #8 Envoy::Config::GrpcMuxImpl::onDiscoveryResponse(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/source/common/config/grpc_mux_impl.cc:174:27 (ads_integration_test+0x2e27540)
    #9 non-virtual thunk to Envoy::Config::GrpcMuxImpl::onDiscoveryResponse(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/source/common/config/grpc_mux_impl.cc (ads_integration_test+0x2e27b8c)
    #10 Envoy::Config::GrpcStream<envoy::api::v2::DiscoveryRequest, envoy::api::v2::DiscoveryResponse>::onReceiveMessage(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:79:17 (ads_integration_test+0x2e2d612)
    #11 Envoy::Grpc::AsyncStreamCallbacks<envoy::api::v2::DiscoveryResponse>::onReceiveMessageRaw(std::unique_ptr<Envoy::Buffer::Instance, std::default_delete<Envoy::Buffer::Instance> >&&) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/grpc/_virtual_includes/typed_async_client_lib/common/grpc/typed_async_client.h:89:5 (ads_integration_test+0x2e2d2a9)
    #12 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/grpc/async_client_impl.cc:138:21 (ads_integration_test+0x2e3cf0a)
    #13 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/grpc/async_client_impl.cc (ads_integration_test+0x2e3d090)
    #14 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/http/async_client_impl.cc:101:21 (ads_integration_test+0x2e5123a)
    #15 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/http/async_client_impl.cc (ads_integration_test+0x2e51330)
    #16 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) /proc/self/cwd/source/common/router/router.cc:1131:15 (ads_integration_test+0x2e76e6c)
    #17 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/router/router.cc:1363:11 (ads_integration_test+0x2e7a495)
    #18 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/http/_virtual_includes/codec_wrappers_lib/common/http/codec_wrappers.h:35:12 (ads_integration_test+0x1ced4b2)
    #19 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) /proc/self/cwd/source/common/http/http2/codec_impl.cc:490:25 (ads_integration_test+0x3113492)
    #20 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_8::operator()(nghttp2_session*, nghttp2_frame const*, void*) const /proc/self/cwd/source/common/http/http2/codec_impl.cc:799:57 (ads_integration_test+0x311adb0)
    #21 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_8::__invoke(nghttp2_session*, nghttp2_frame const*, void*) /proc/self/cwd/source/common/http/http2/codec_impl.cc:798:19 (ads_integration_test+0x311ad28)
    #22 session_call_on_frame_received /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:3295:10 (ads_integration_test+0x314c563)
    #23 nghttp2_session_on_data_received /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:4966 (ads_integration_test+0x314c563)
    #24 session_process_data_frame /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:4986:8 (ads_integration_test+0x314fbbf)
    #25 nghttp2_session_mem_recv /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:6607 (ads_integration_test+0x314fbbf)
    #26 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/http2/codec_impl.cc:350:9 (ads_integration_test+0x3111598)
    #27 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/http2/codec_impl.cc (ads_integration_test+0x3111a07)
    #28 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/codec_client.cc:116:13 (ads_integration_test+0x2dc6fbe)
    #29 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/http/_virtual_includes/codec_client_lib/common/http/codec_client.h:172:15 (ads_integration_test+0x2dca380)
    #30 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) /proc/self/cwd/source/common/network/filter_manager_impl.cc:65:48 (ads_integration_test+0x352a949)
    #31 Envoy::Network::FilterManagerImpl::onRead() /proc/self/cwd/source/common/network/filter_manager_impl.cc:75:3 (ads_integration_test+0x352ac21)
    #32 Envoy::Network::ConnectionImpl::onRead(unsigned long) /proc/self/cwd/source/common/network/connection_impl.cc:269:19 (ads_integration_test+0x351865a)
    #33 Envoy::Network::ConnectionImpl::onReadReady() /proc/self/cwd/source/common/network/connection_impl.cc:513:5 (ads_integration_test+0x351cb11)
    #34 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) /proc/self/cwd/source/common/network/connection_impl.cc:489:5 (ads_integration_test+0x351c6bf)
    #35 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::unique_ptr<Envoy::Network::ConnectionSocket, std::default_delete<Envoy::Network::ConnectionSocket> >&&, std::unique_ptr<Envoy::Network::TransportSocket, std::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const /proc/self/cwd/source/common/network/connection_impl.cc:66:58 (ads_integration_test+0x35205a4)
    #36 std::_Function_handler<void (unsigned int), Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::unique_ptr<Envoy::Network::ConnectionSocket, std::default_delete<Envoy::Network::ConnectionSocket> >&&, std::unique_ptr<Envoy::Network::TransportSocket, std::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>::_M_invoke(std::_Any_data const&, unsigned int&&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316:2 (ads_integration_test+0x3520351)
    #37 std::function<void (unsigned int)>::operator()(unsigned int) const /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (ads_integration_test+0x27554fd)
    #38 Envoy::Event::FileEventImpl::assignEvents(unsigned int)::$_0::operator()(int, short, void*) const /proc/self/cwd/source/common/event/file_event_impl.cc:65:9 (ads_integration_test+0x350a4a9)
    #39 Envoy::Event::FileEventImpl::assignEvents(unsigned int)::$_0::__invoke(int, short, void*) /proc/self/cwd/source/common/event/file_event_impl.cc:49:7 (ads_integration_test+0x350a257)
    #40 event_persist_closure /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:1645:9 (ads_integration_test+0x4354ad6)
    #41 event_process_active_single_queue /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:1704 (ads_integration_test+0x4354ad6)
    #42 event_process_active /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c (ads_integration_test+0x434f1d8)
    #43 event_base_loop /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:2047 (ads_integration_test+0x434f1d8)
    #44 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/libevent_scheduler.cc:47:3 (ads_integration_test+0x3600805)
    #45 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/dispatcher_impl.cc:192:19 (ads_integration_test+0x3500c41)
    #46 Envoy::Server::InstanceImpl::run() /proc/self/cwd/source/server/server.cc:520:16 (ads_integration_test+0x1991220)
    #47 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::unique_ptr<Envoy::Runtime::RandomGenerator, std::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:200:12 (ads_integration_test+0x18a4b67)
    #48 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:159:3 (ads_integration_test+0x18a45d9)
    #49 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::function<void ()>, bool, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >)::$_0::operator()() const /proc/self/cwd/test/integration/server.cc:77:9 (ads_integration_test+0x18a5f05)
    #50 std::_Function_handler<void (), Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::function<void ()>, bool, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >)::$_0>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316:2 (ads_integration_test+0x18a5bca)
    #51 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (ads_integration_test+0x17ad3fe)
    #52 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::operator()(void*) const /proc/self/cwd/source/common/common/posix/thread_impl.cc:33:9 (ads_integration_test+0x43265d8)
    #53 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::__invoke(void*) /proc/self/cwd/source/common/common/posix/thread_impl.cc:32:7 (ads_integration_test+0x4326568)

  Location is heap block of size 680 at 0x7b5800054000 allocated by thread T25:
    #0 malloc <null> (ads_integration_test+0x15c2fa7)
    #1 operator new(unsigned long) <null> (libstdc++.so.6+0xa55f4)
    #2 Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::api::v2::Resource> const&, google::protobuf::RepeatedPtrField<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc:59:29 (ads_integration_test+0x1adb2c3)
    #3 Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc:108:3 (ads_integration_test+0x1adbe52)
    #4 non-virtual thunk to Envoy::Server::LdsApiImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/server/lds_api.cc (ads_integration_test+0x1adbf2c)
    #5 Envoy::Config::GrpcMuxSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/common/config/grpc_mux_subscription_impl.cc:56:14 (ads_integration_test+0x2f97431)
    #6 non-virtual thunk to Envoy::Config::GrpcMuxSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<google::protobuf::Any> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /proc/self/cwd/source/common/config/grpc_mux_subscription_impl.cc (ads_integration_test+0x2f9772c)
    #7 Envoy::Config::GrpcMuxImpl::onDiscoveryResponse(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/source/common/config/grpc_mux_impl.cc:174:27 (ads_integration_test+0x2e27540)
    #8 non-virtual thunk to Envoy::Config::GrpcMuxImpl::onDiscoveryResponse(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/source/common/config/grpc_mux_impl.cc (ads_integration_test+0x2e27b8c)
    #9 Envoy::Config::GrpcStream<envoy::api::v2::DiscoveryRequest, envoy::api::v2::DiscoveryResponse>::onReceiveMessage(std::unique_ptr<envoy::api::v2::DiscoveryResponse, std::default_delete<envoy::api::v2::DiscoveryResponse> >&&) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:79:17 (ads_integration_test+0x2e2d612)
    #10 Envoy::Grpc::AsyncStreamCallbacks<envoy::api::v2::DiscoveryResponse>::onReceiveMessageRaw(std::unique_ptr<Envoy::Buffer::Instance, std::default_delete<Envoy::Buffer::Instance> >&&) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/grpc/_virtual_includes/typed_async_client_lib/common/grpc/typed_async_client.h:89:5 (ads_integration_test+0x2e2d2a9)
    #11 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/grpc/async_client_impl.cc:138:21 (ads_integration_test+0x2e3cf0a)
    #12 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/grpc/async_client_impl.cc (ads_integration_test+0x2e3d090)
    #13 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/http/async_client_impl.cc:101:21 (ads_integration_test+0x2e5123a)
    #14 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/http/async_client_impl.cc (ads_integration_test+0x2e51330)
    #15 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) /proc/self/cwd/source/common/router/router.cc:1131:15 (ads_integration_test+0x2e76e6c)
    #16 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/source/common/router/router.cc:1363:11 (ads_integration_test+0x2e7a495)
    #17 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/http/_virtual_includes/codec_wrappers_lib/common/http/codec_wrappers.h:35:12 (ads_integration_test+0x1ced4b2)
    #18 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) /proc/self/cwd/source/common/http/http2/codec_impl.cc:490:25 (ads_integration_test+0x3113492)
    #19 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_8::operator()(nghttp2_session*, nghttp2_frame const*, void*) const /proc/self/cwd/source/common/http/http2/codec_impl.cc:799:57 (ads_integration_test+0x311adb0)
    #20 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_8::__invoke(nghttp2_session*, nghttp2_frame const*, void*) /proc/self/cwd/source/common/http/http2/codec_impl.cc:798:19 (ads_integration_test+0x311ad28)
    #21 session_call_on_frame_received /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:3295:10 (ads_integration_test+0x314c563)
    #22 nghttp2_session_on_data_received /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:4966 (ads_integration_test+0x314c563)
    #23 session_process_data_frame /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:4986:8 (ads_integration_test+0x314fbbf)
    #24 nghttp2_session_mem_recv /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_nghttp2_nghttp2/lib/nghttp2_session.c:6607 (ads_integration_test+0x314fbbf)
    #25 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/http2/codec_impl.cc:350:9 (ads_integration_test+0x3111598)
    #26 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/http2/codec_impl.cc (ads_integration_test+0x3111a07)
    #27 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) /proc/self/cwd/source/common/http/codec_client.cc:116:13 (ads_integration_test+0x2dc6fbe)
    #28 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) /proc/self/cwd/bazel-out/k8-dbg/bin/source/common/http/_virtual_includes/codec_client_lib/common/http/codec_client.h:172:15 (ads_integration_test+0x2dca380)
    #29 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) /proc/self/cwd/source/common/network/filter_manager_impl.cc:65:48 (ads_integration_test+0x352a949)
    #30 Envoy::Network::FilterManagerImpl::onRead() /proc/self/cwd/source/common/network/filter_manager_impl.cc:75:3 (ads_integration_test+0x352ac21)
    #31 Envoy::Network::ConnectionImpl::onRead(unsigned long) /proc/self/cwd/source/common/network/connection_impl.cc:269:19 (ads_integration_test+0x351865a)
    #32 Envoy::Network::ConnectionImpl::onReadReady() /proc/self/cwd/source/common/network/connection_impl.cc:513:5 (ads_integration_test+0x351cb11)
    #33 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) /proc/self/cwd/source/common/network/connection_impl.cc:489:5 (ads_integration_test+0x351c6bf)
    #34 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::unique_ptr<Envoy::Network::ConnectionSocket, std::default_delete<Envoy::Network::ConnectionSocket> >&&, std::unique_ptr<Envoy::Network::TransportSocket, std::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const /proc/self/cwd/source/common/network/connection_impl.cc:66:58 (ads_integration_test+0x35205a4)
    #35 std::_Function_handler<void (unsigned int), Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::unique_ptr<Envoy::Network::ConnectionSocket, std::default_delete<Envoy::Network::ConnectionSocket> >&&, std::unique_ptr<Envoy::Network::TransportSocket, std::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>::_M_invoke(std::_Any_data const&, unsigned int&&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316:2 (ads_integration_test+0x3520351)
    #36 std::function<void (unsigned int)>::operator()(unsigned int) const /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (ads_integration_test+0x27554fd)
    #37 Envoy::Event::FileEventImpl::assignEvents(unsigned int)::$_0::operator()(int, short, void*) const /proc/self/cwd/source/common/event/file_event_impl.cc:65:9 (ads_integration_test+0x350a4a9)
    #38 Envoy::Event::FileEventImpl::assignEvents(unsigned int)::$_0::__invoke(int, short, void*) /proc/self/cwd/source/common/event/file_event_impl.cc:49:7 (ads_integration_test+0x350a257)
    #39 event_persist_closure /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:1645:9 (ads_integration_test+0x4354ad6)
    #40 event_process_active_single_queue /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:1704 (ads_integration_test+0x4354ad6)
    #41 event_process_active /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c (ads_integration_test+0x434f1d8)
    #42 event_base_loop /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_libevent_libevent/event.c:2047 (ads_integration_test+0x434f1d8)
    #43 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/libevent_scheduler.cc:47:3 (ads_integration_test+0x3600805)
    #44 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/dispatcher_impl.cc:192:19 (ads_integration_test+0x3500c41)
    #45 Envoy::Server::InstanceImpl::run() /proc/self/cwd/source/server/server.cc:520:16 (ads_integration_test+0x1991220)
    #46 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::unique_ptr<Envoy::Runtime::RandomGenerator, std::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:200:12 (ads_integration_test+0x18a4b67)
    #47 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:159:3 (ads_integration_test+0x18a45d9)
    #48 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::function<void ()>, bool, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >)::$_0::operator()() const /proc/self/cwd/test/integration/server.cc:77:9 (ads_integration_test+0x18a5f05)
    #49 std::_Function_handler<void (), Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::function<void ()>, bool, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >)::$_0>::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316:2 (ads_integration_test+0x18a5bca)
    #50 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (ads_integration_test+0x17ad3fe)
    #51 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::operator()(void*) const /proc/self/cwd/source/common/common/posix/thread_impl.cc:33:9 (ads_integration_test+0x43265d8)
    #52 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::__invoke(void*) /proc/self/cwd/source/common/common/posix/thread_impl.cc:32:7 (ads_integration_test+0x4326568)

  Thread T25 (tid=2624, running) created by main thread at:
    #0 pthread_create <null> (ads_integration_test+0x15c4495)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>) /proc/self/cwd/source/common/common/posix/thread_impl.cc:30:18 (ads_integration_test+0x4325d78)
    #2 std::_MakeUniq<Envoy::Thread::ThreadImplPosix>::__single_object std::make_unique<Envoy::Thread::ThreadImplPosix, std::function<void ()>&>(std::function<void ()>&) /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/unique_ptr.h:825:34 (ads_integration_test+0x43268b3)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::function<void ()>) /proc/self/cwd/source/common/common/posix/thread_impl.cc:46:10 (ads_integration_test+0x43261fb)
    #4 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::function<void ()>, bool, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:76:28 (ads_integration_test+0x18a310e)
    #5 Envoy::IntegrationTestServer::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Envoy::Network::Address::IpVersion, std::function<void ()>, bool, Envoy::Event::TestTimeSystem&, Envoy::Api::Api&, bool, absl::optional<std::reference_wrapper<Envoy::ProcessObject> >) /proc/self/cwd/test/integration/server.cc:54:11 (ads_integration_test+0x18a2cb4)
    #6 Envoy::BaseIntegrationTest::createGeneratedApiTestServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) /proc/self/cwd/test/integration/integration.cc:411:18 (ads_integration_test+0x17fa869)
    #7 Envoy::BaseIntegrationTest::createEnvoy() /proc/self/cwd/test/integration/integration.cc:348:3 (ads_integration_test+0x17fa4b1)
    #8 Envoy::BaseIntegrationTest::initialize() /proc/self/cwd/test/integration/integration.cc:280:3 (ads_integration_test+0x17f8ce4)
    #9 Envoy::(anonymous namespace)::AdsIntegrationTest::initializeAds(bool) /proc/self/cwd/test/integration/ads_integration_test.cc:173:26 (ads_integration_test+0x1654664)
    #10 Envoy::(anonymous namespace)::AdsIntegrationTest::initialize() /proc/self/cwd/test/integration/ads_integration_test.cc:145:32 (ads_integration_test+0x1653f5a)
    #11 Envoy::(anonymous namespace)::AdsIntegrationTest_ListenerDrainBeforeServerStart_Test::TestBody() /proc/self/cwd/test/integration/ads_integration_test.cc:959:3 (ads_integration_test+0x16b51ac)
    #12 non-virtual thunk to Envoy::(anonymous namespace)::AdsIntegrationTest_ListenerDrainBeforeServerStart_Test::TestBody() /proc/self/cwd/test/integration/ads_integration_test.cc (ads_integration_test+0x16b750c)
    #13 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (ads_integration_test+0x4512c06)
    #14 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (ads_integration_test+0x44f8461)
    #15 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2522:5 (ads_integration_test+0x44d844b)
    #16 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2698:11 (ads_integration_test+0x44d9579)
    #17 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2828:28 (ads_integration_test+0x44d9ff4)
    #18 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5285:44 (ads_integration_test+0x44ed7d7)
    #19 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (ads_integration_test+0x4518a76)
    #20 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (ads_integration_test+0x44fc367)
    #21 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4873:10 (ads_integration_test+0x44ecffe)
    #22 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2453:46 (ads_integration_test+0x3109d27)
    #23 Envoy::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:121:12 (ads_integration_test+0x3109239)
    #24 main /proc/self/cwd/test/main.cc:38:10 (ads_integration_test+0x31079c4)

SUMMARY: ThreadSanitizer: data race (/build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/bazel-out/k8-dbg/bin/test/integration/ads_integration_test+0x15ce2bd) in __interceptor_memcpy
==================

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions