Skip to content

vhds: tsan failure in test/integration/vhds_integration_test #9784

@jmarantz

Description

@jmarantz

I am not too familiar with VHDS, but i testing #9774 locally I ran into this. It's possible the PR I was testing was responsible but it seems likely to be unrelated, given the stack trace.

[ RUN      ] IpVersionsClientType/VhdsIntegrationTest.VhdsVirtualHostAddUpdateRemove/0
==================
WARNING: ThreadSanitizer: data race (pid=14)
  Write of size 8 at 0x7b140000f0f0 by thread T7:
    #0 free ??:? (vhds_integration_test+0x21dd4f8)
    #1 std::__1::_DeallocateCaller::__do_call(void*) ??:? (vhds_integration_test+0x2273fb8)
    #2 std::__1::_DeallocateCaller::__do_deallocate_handle_size(void*, unsigned long) ??:? (vhds_integration_test+0x2273f84)
    #3 std::__1::_DeallocateCaller::__do_deallocate_handle_size_align(void*, unsigned long, unsigned long) vhds_integration_test.cc:? (vhds_integration_test+0x2273f24)
    #4 std::__1::__libcpp_deallocate(void*, unsigned long, unsigned long) vhds_integration_test.cc:? (vhds_integration_test+0x2273eb8)
    #5 std::__1::allocator<std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > > >::deallocate(std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > >*, unsigned long) on_demand_update.cc:? (vhds_integration_test+0x3041fa1)
    #6 std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > >::__on_zero_shared_weak() ??:? (vhds_integration_test+0x30419b5)
    #7 std::__1::weak_ptr<std::__1::function<void (bool)> >::~weak_ptr() ??:? (vhds_integration_test+0x30d3867)
    #8 Envoy::Router::RdsRouteConfigProviderImpl::onConfigUpdate() ??:? (vhds_integration_test+0x317c55a)
    #9 Envoy::Router::VhdsSubscription::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x31ab4f8)
    #10 Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x4397540)
    #11 non-virtual thunk to Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x439768c)
    #12 Envoy::Config::WatchMap::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x43cdfe1)
    #13 Envoy::Config::DeltaSubscriptionState::handleGoodResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1f1d)
    #14 Envoy::Config::DeltaSubscriptionState::handleResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1751)
    #15 Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439977a)
    #16 non-virtual thunk to Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439996f)
    #17 Envoy::Config::GrpcStream<envoy::service::discovery::v3::DeltaDiscoveryRequest, envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessage(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x294ffca)
    #18 Envoy::Grpc::AsyncStreamCallbacks<envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessageRaw(std::__1::unique_ptr<Envoy::Buffer::Instance, std::__1::default_delete<Envoy::Buffer::Instance> >&&) ??:? (vhds_integration_test+0x294fca6)
    #19 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420c3f)
    #20 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420dcf)
    #21 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4435301)
    #22 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x443540f)
    #23 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) ??:? (vhds_integration_test+0x445fc73)
    #24 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4463c0f)
    #25 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x2e561d9)
    #26 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) ??:? (vhds_integration_test+0x47ffa2a)
    #27 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::operator()(nghttp2_session*, nghttp2_frame const*, void*) const codec_impl.cc:? (vhds_integration_test+0x4808d20)
    #28 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::__invoke(nghttp2_session*, nghttp2_frame const*, void*) codec_impl.cc:? (vhds_integration_test+0x4808c98)
    #29 session_call_on_frame_received nghttp2_session.c:? (vhds_integration_test+0x4848541)
    #30 nghttp2_session_on_data_received ??:? (vhds_integration_test+0x484bec4)
    #31 session_process_data_frame nghttp2_session.c:? (vhds_integration_test+0x485859b)
    #32 nghttp2_session_mem_recv ??:? (vhds_integration_test+0x4853ae2)
    #33 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fd794)
    #34 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fdce0)
    #35 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x434cb2c)
    #36 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4351d3c)
    #37 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) ??:? (vhds_integration_test+0x499eaa5)
    #38 Envoy::Network::FilterManagerImpl::onRead() ??:? (vhds_integration_test+0x499ed14)
    #39 Envoy::Network::ConnectionImpl::onRead(unsigned long) ??:? (vhds_integration_test+0x4985bf7)
    #40 Envoy::Network::ConnectionImpl::onReadReady() ??:? (vhds_integration_test+0x4989e30)
    #41 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) ??:? (vhds_integration_test+0x49899e6)
    #42 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const connection_impl.cc:? (vhds_integration_test+0x4992967)
    #43 _ZNSt3__18__invokeIRZN5Envoy7Network14ConnectionImplC1ERNS1_5Event10DispatcherEONS_10unique_ptrINS2_16ConnectionSocketENS_14default_deleteIS8_EEEEONS7_INS2_15TransportSocketENS9_ISD_EEEEbE3$_2JjEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSJ_DpOSK_ connection_impl.cc:? (vhds_integration_test+0x49928dc)
    #44 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int>(Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499280d)
    #45 std::__1::__function::__alloc_func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499278d)
    #46 std::__1::__function::__func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x4990dcc)
    #47 std::__1::__function::__value_func<void (unsigned int)>::operator()(unsigned int&&) const mocks.cc:? (vhds_integration_test+0x39e5d24)
    #48 std::__1::function<void (unsigned int)>::operator()(unsigned int) const ??:? (vhds_integration_test+0x39e5c18)
    #49 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::operator()(int, short, void*) const file_event_impl.cc:? (vhds_integration_test+0x4975beb)
    #50 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::__invoke(int, short, void*) file_event_impl.cc:? (vhds_integration_test+0x49759f6)
    #51 event_persist_closure event.c:? (vhds_integration_test+0x500c840)
    #52 event_process_active_single_queue event.c:? (vhds_integration_test+0x500b268)
    #53 event_process_active event.c:? (vhds_integration_test+0x5000bb8)
    #54 event_base_loop ??:? (vhds_integration_test+0x4ffe883)
    #55 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4acbd8f)
    #56 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4963f11)
    #57 Envoy::Server::InstanceImpl::run() ??:? (vhds_integration_test+0x265517b)
    #58 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::__1::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::__1::unique_ptr<Envoy::Runtime::RandomGenerator, std::__1::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >) ??:? (vhds_integration_test+0x24745e0)
    #59 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2474032)
    #60 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0::operator()() const server.cc:? (vhds_integration_test+0x2477690)
    #61 _ZNSt3__18__invokeIRZN5Envoy21IntegrationTestServer5startENS1_7Network7Address9IpVersionENS_8functionIFvvEEEbbN4absl8optionalINS_17reference_wrapperINS1_13ProcessObjectEEEEEbbjE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSH_DpOSI_ server.cc:? (vhds_integration_test+0x2477530)
    #62 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&>(Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&) server.cc:? (vhds_integration_test+0x2477490)
    #63 std::__1::__function::__alloc_func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2477430)
    #64 std::__1::__function::__func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2475ddf)
    #65 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #66 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #67 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const thread_impl.cc:? (vhds_integration_test+0x4fea0fb)
    #68 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) thread_impl.cc:? (vhds_integration_test+0x4fea088)

  Previous read of size 8 at 0x7b140000f0f0 by thread T6:
    #0 std::__1::__shared_count::__release_shared() vhds_integration_test.cc:? (vhds_integration_test+0x22803ef)
    #1 std::__1::__shared_weak_count::__release_shared() vhds_integration_test.cc:? (vhds_integration_test+0x2280372)
    #2 std::__1::shared_ptr<std::__1::function<void (bool)> >::~shared_ptr() ??:? (vhds_integration_test+0x301fd27)
    #3 Envoy::Extensions::HttpFilters::OnDemand::OnDemandRouteUpdate::~OnDemandRouteUpdate() ??:? (vhds_integration_test+0x301fca5)
    #4 std::__1::__shared_ptr_emplace<Envoy::Extensions::HttpFilters::OnDemand::OnDemandRouteUpdate, std::__1::allocator<Envoy::Extensions::HttpFilters::OnDemand::OnDemandRouteUpdate> >::__on_zero_shared() ??:? (vhds_integration_test+0x301f92d)
    #5 std::__1::__shared_count::__release_shared() vhds_integration_test.cc:? (vhds_integration_test+0x22803fc)
    #6 std::__1::__shared_weak_count::__release_shared() vhds_integration_test.cc:? (vhds_integration_test+0x2280372)
    #7 std::__1::shared_ptr<Envoy::Http::StreamDecoderFilter>::~shared_ptr() ??:? (vhds_integration_test+0x2f1a0f7)
    #8 Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter::~ActiveStreamDecoderFilter() ??:? (vhds_integration_test+0x30e4f00)
    #9 Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter::~ActiveStreamDecoderFilter() ??:? (vhds_integration_test+0x30da896)
    #10 Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter::~ActiveStreamDecoderFilter() ??:? (vhds_integration_test+0x30da8df)
    #11 std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter>::operator()(Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter*) const conn_manager_impl.cc:? (vhds_integration_test+0x30ec546)
    #12 std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >::reset(Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter*) conn_manager_impl.cc:? (vhds_integration_test+0x30ec460)
    #13 std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >::~unique_ptr() conn_manager_impl.cc:? (vhds_integration_test+0x30d590c)
    #14 void std::__1::allocator_traits<std::__1::allocator<std::__1::__list_node<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, void*> > >::__destroy<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> > >(std::__1::integral_constant<bool, false>, std::__1::allocator<std::__1::__list_node<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, void*> >&, std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >*) ??:? (vhds_integration_test+0x30e23b4)
    #15 void std::__1::allocator_traits<std::__1::allocator<std::__1::__list_node<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, void*> > >::destroy<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> > >(std::__1::allocator<std::__1::__list_node<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, void*> >&, std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >*) ??:? (vhds_integration_test+0x30e2128)
    #16 std::__1::__list_imp<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, std::__1::allocator<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> > > >::clear() ??:? (vhds_integration_test+0x30e1dfb)
    #17 std::__1::__list_imp<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, std::__1::allocator<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> > > >::~__list_imp() ??:? (vhds_integration_test+0x30e1cb8)
    #18 std::__1::list<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> >, std::__1::allocator<std::__1::unique_ptr<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter, std::__1::default_delete<Envoy::Http::ConnectionManagerImpl::ActiveStreamDecoderFilter> > > >::~list() ??:? (vhds_integration_test+0x30d4bdb)
    #19 Envoy::Http::ConnectionManagerImpl::ActiveStream::~ActiveStream() ??:? (vhds_integration_test+0x3099312)
    #20 Envoy::Http::ConnectionManagerImpl::ActiveStream::~ActiveStream() ??:? (vhds_integration_test+0x309985f)
    #21 std::__1::default_delete<Envoy::Event::DeferredDeletable>::operator()(Envoy::Event::DeferredDeletable*) const connection_handler_impl.cc:? (vhds_integration_test+0x284fcc6)
    #22 std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> >::reset(Envoy::Event::DeferredDeletable*) connection_handler_impl.cc:? (vhds_integration_test+0x284fbe0)
    #23 Envoy::Event::DispatcherImpl::clearDeferredDeleteList() ??:? (vhds_integration_test+0x496218c)
    #24 Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_0::operator()() const dispatcher_impl.cc:? (vhds_integration_test+0x4966492)
    #25 _ZNSt3__18__invokeIRZN5Envoy5Event14DispatcherImplC1EONS_10unique_ptrINS1_6Buffer16WatermarkFactoryENS_14default_deleteIS6_EEEERNS1_3Api3ApiERNS2_10TimeSystemEE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSI_DpOSJ_ dispatcher_impl.cc:? (vhds_integration_test+0x4966400)
    #26 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&)::$_0&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_0&) dispatcher_impl.cc:? (vhds_integration_test+0x4966360)
    #27 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&)::$_0, 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&)::$_0>, void ()>::operator()() dispatcher_impl.cc:? (vhds_integration_test+0x4966300)
    #28 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&)::$_0, 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&)::$_0>, void ()>::operator()() dispatcher_impl.cc:? (vhds_integration_test+0x496495f)
    #29 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #30 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #31 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &event_base_free>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_0::operator()(int, short, void*) const timer_impl.cc:? (vhds_integration_test+0x4acdeb5)
    #32 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &event_base_free>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_0::__invoke(int, short, void*) timer_impl.cc:? (vhds_integration_test+0x4acde16)
    #33 event_process_active_single_queue event.c:? (vhds_integration_test+0x500b45a)
    #34 event_process_active event.c:? (vhds_integration_test+0x5000bb8)
    #35 event_base_loop ??:? (vhds_integration_test+0x4ffe883)
    #36 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4acbd8f)
    #37 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4963f11)
    #38 Envoy::Server::WorkerImpl::threadRoutine(Envoy::Server::GuardDog&) ??:? (vhds_integration_test+0x2826970)
    #39 Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3::operator()() const worker_impl.cc:? (vhds_integration_test+0x28306a7)
    #40 _ZNSt3__18__invokeIRZN5Envoy6Server10WorkerImpl5startERNS2_8GuardDogEE3$_3JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS8_DpOS9_ worker_impl.cc:? (vhds_integration_test+0x2830610)
    #41 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3&>(Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3&) worker_impl.cc:? (vhds_integration_test+0x2830570)
    #42 std::__1::__function::__alloc_func<Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3, std::__1::allocator<Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3>, void ()>::operator()() worker_impl.cc:? (vhds_integration_test+0x2830510)
    #43 std::__1::__function::__func<Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3, std::__1::allocator<Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::$_3>, void ()>::operator()() worker_impl.cc:? (vhds_integration_test+0x282eb6f)
    #44 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #45 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #46 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const thread_impl.cc:? (vhds_integration_test+0x4fea0fb)
    #47 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) thread_impl.cc:? (vhds_integration_test+0x4fea088)

  Thread T7 (tid=106, running) created by main thread at:
    #0 pthread_create ??:? (vhds_integration_test+0x21de78b)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9bfe)
    #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 ()>&) thread_impl.cc:? (vhds_integration_test+0x4fea3ee)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9f93)
    #4 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2472c9d)
    #5 Envoy::IntegrationTestServer::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::IpVersion, std::__1::function<void (Envoy::IntegrationTestServer&)>, std::__1::function<void ()>, bool, Envoy::Event::TestTimeSystem&, Envoy::Api::Api&, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2472849)
    #6 Envoy::BaseIntegrationTest::createGeneratedApiTestServer(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool, bool, bool) ??:? (vhds_integration_test+0x23d50e3)
    #7 Envoy::BaseIntegrationTest::createEnvoy() ??:? (vhds_integration_test+0x23d4ced)
    #8 Envoy::BaseIntegrationTest::initialize() ??:? (vhds_integration_test+0x23d36d4)
    #9 Envoy::(anonymous namespace)::VhdsIntegrationTest::initialize() vhds_integration_test.cc:? (vhds_integration_test+0x2258771)
    #10 Envoy::HttpIntegrationTest::makeHeaderOnlyRequest(std::__1::function<std::__1::unique_ptr<Envoy::Network::ClientConnection, std::__1::default_delete<Envoy::Network::ClientConnection> > ()>*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x22db056)
    #11 Envoy::HttpIntegrationTest::testRouterHeaderOnlyRequestAndResponse(std::__1::function<std::__1::unique_ptr<Envoy::Network::ClientConnection, std::__1::default_delete<Envoy::Network::ClientConnection> > ()>*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x22db580)
    #12 Envoy::(anonymous namespace)::VhdsIntegrationTest_VhdsVirtualHostAddUpdateRemove_Test::TestBody() vhds_integration_test.cc:? (vhds_integration_test+0x225bb24)
    #13 non-virtual thunk to Envoy::(anonymous namespace)::VhdsIntegrationTest_VhdsVirtualHostAddUpdateRemove_Test::TestBody() vhds_integration_test.cc:? (vhds_integration_test+0x225e142)
    #14 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ??:? (vhds_integration_test+0x67ad5dc)
    #15 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ??:? (vhds_integration_test+0x679341e)
    #16 testing::Test::Run() ??:? (vhds_integration_test+0x6778b31)
    #17 testing::TestInfo::Run() ??:? (vhds_integration_test+0x67799d3)
    #18 testing::TestSuite::Run() ??:? (vhds_integration_test+0x677a3be)
    #19 testing::internal::UnitTestImpl::RunAllTests() ??:? (vhds_integration_test+0x678966d)
    #20 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:? (vhds_integration_test+0x67b3cfc)
    #21 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:? (vhds_integration_test+0x679713e)
    #22 testing::UnitTest::Run() ??:? (vhds_integration_test+0x6788f2b)
    #23 RUN_ALL_TESTS() ??:? (vhds_integration_test+0x47f5847)
    #24 Envoy::TestRunner::RunTests(int, char**) ??:? (vhds_integration_test+0x47f4ba6)
    #25 main ??:? (vhds_integration_test+0x47f201a)

  Thread T6 (tid=112, running) created by thread T7 at:
    #0 pthread_create ??:? (vhds_integration_test+0x21de78b)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9bfe)
    #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 ()>&) thread_impl.cc:? (vhds_integration_test+0x4fea3ee)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9f93)
    #4 Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&) ??:? (vhds_integration_test+0x2826142)
    #5 Envoy::Server::ListenerManagerImpl::startWorkers(Envoy::Server::GuardDog&) ??:? (vhds_integration_test+0x2714e47)
    #6 Envoy::Server::InstanceImpl::startWorkers() ??:? (vhds_integration_test+0x2653dd1)
    #7 Envoy::Server::InstanceImpl::run()::$_11::operator()() const server.cc:? (vhds_integration_test+0x2671941)
    #8 _ZNSt3__18__invokeIRZN5Envoy6Server12InstanceImpl3runEvE4$_11JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS6_DpOS7_ server.cc:? (vhds_integration_test+0x2671880)
    #9 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Server::InstanceImpl::run()::$_11&>(Envoy::Server::InstanceImpl::run()::$_11&) server.cc:? (vhds_integration_test+0x26717e0)
    #10 std::__1::__function::__alloc_func<Envoy::Server::InstanceImpl::run()::$_11, std::__1::allocator<Envoy::Server::InstanceImpl::run()::$_11>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2671780)
    #11 std::__1::__function::__func<Envoy::Server::InstanceImpl::run()::$_11, std::__1::allocator<Envoy::Server::InstanceImpl::run()::$_11>, void ()>::operator()() server.cc:? (vhds_integration_test+0x266fddf)
    #12 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #13 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #14 Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5::operator()() const server.cc:? (vhds_integration_test+0x2663f9d)
    #15 _ZNSt3__18__invokeIRZN5Envoy6Server9RunHelperC1ERNS2_8InstanceERKNS2_7OptionsERNS1_5Event10DispatcherERNS1_8Upstream14ClusterManagerERNS1_9AccessLog16AccessLogManagerERNS1_4Init7ManagerERNS2_15OverloadManagerENS_8functionIFvvEEEE3$_5JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSS_DpOST_ server.cc:? (vhds_integration_test+0x2663ee0)
    #16 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5&>(Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5&) server.cc:? (vhds_integration_test+0x2663e40)
    #17 std::__1::__function::__alloc_func<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5, std::__1::allocator<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2663de0)
    #18 std::__1::__function::__func<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5, std::__1::allocator<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5>, void ()>::operator()() server.cc:? (vhds_integration_test+0x26624af)
    #19 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #20 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #21 Envoy::Init::WatcherHandleImpl::ready() const ??:? (vhds_integration_test+0x4734f05)
    #22 Envoy::Init::ManagerImpl::ready() ??:? (vhds_integration_test+0x472fd79)
    #23 Envoy::Init::ManagerImpl::onTargetReady() ??:? (vhds_integration_test+0x472ff14)
    #24 Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0::operator()() const manager_impl.cc:? (vhds_integration_test+0x473220b)
    #25 _ZNSt3__18__invokeIRZN5Envoy4Init11ManagerImplC1EN4absl11string_viewEE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS8_DpOS9_ manager_impl.cc:? (vhds_integration_test+0x4732190)
    #26 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0&>(Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0&) manager_impl.cc:? (vhds_integration_test+0x47320f0)
    #27 std::__1::__function::__alloc_func<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0, std::__1::allocator<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0>, void ()>::operator()() manager_impl.cc:? (vhds_integration_test+0x4732090)
    #28 std::__1::__function::__func<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0, std::__1::allocator<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0>, void ()>::operator()() manager_impl.cc:? (vhds_integration_test+0x47306ef)
    #29 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #30 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #31 Envoy::Init::WatcherHandleImpl::ready() const ??:? (vhds_integration_test+0x4734f05)
    #32 Envoy::Init::TargetImpl::ready() ??:? (vhds_integration_test+0x4c946c2)
    #33 Envoy::Router::VhdsSubscription::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x31ab525)
    #34 Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x4397540)
    #35 non-virtual thunk to Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x439768c)
    #36 Envoy::Config::WatchMap::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x43cdfe1)
    #37 Envoy::Config::DeltaSubscriptionState::handleGoodResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1f1d)
    #38 Envoy::Config::DeltaSubscriptionState::handleResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1751)
    #39 Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439977a)
    #40 non-virtual thunk to Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439996f)
    #41 Envoy::Config::GrpcStream<envoy::service::discovery::v3::DeltaDiscoveryRequest, envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessage(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x294ffca)
    #42 Envoy::Grpc::AsyncStreamCallbacks<envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessageRaw(std::__1::unique_ptr<Envoy::Buffer::Instance, std::__1::default_delete<Envoy::Buffer::Instance> >&&) ??:? (vhds_integration_test+0x294fca6)
    #43 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420c3f)
    #44 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420dcf)
    #45 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4435301)
    #46 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x443540f)
    #47 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) ??:? (vhds_integration_test+0x445fc73)
    #48 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4463c0f)
    #49 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x2e561d9)
    #50 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) ??:? (vhds_integration_test+0x47ffa2a)
    #51 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::operator()(nghttp2_session*, nghttp2_frame const*, void*) const codec_impl.cc:? (vhds_integration_test+0x4808d20)
    #52 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::__invoke(nghttp2_session*, nghttp2_frame const*, void*) codec_impl.cc:? (vhds_integration_test+0x4808c98)
    #53 session_call_on_frame_received nghttp2_session.c:? (vhds_integration_test+0x4848541)
    #54 nghttp2_session_on_data_received ??:? (vhds_integration_test+0x484bec4)
    #55 session_process_data_frame nghttp2_session.c:? (vhds_integration_test+0x485859b)
    #56 nghttp2_session_mem_recv ??:? (vhds_integration_test+0x4853ae2)
    #57 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fd794)
    #58 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fdce0)
    #59 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x434cb2c)
    #60 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4351d3c)
    #61 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) ??:? (vhds_integration_test+0x499eaa5)
    #62 Envoy::Network::FilterManagerImpl::onRead() ??:? (vhds_integration_test+0x499ed14)
    #63 Envoy::Network::ConnectionImpl::onRead(unsigned long) ??:? (vhds_integration_test+0x4985bf7)
    #64 Envoy::Network::ConnectionImpl::onReadReady() ??:? (vhds_integration_test+0x4989e30)
    #65 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) ??:? (vhds_integration_test+0x49899e6)
    #66 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const connection_impl.cc:? (vhds_integration_test+0x4992967)
    #67 _ZNSt3__18__invokeIRZN5Envoy7Network14ConnectionImplC1ERNS1_5Event10DispatcherEONS_10unique_ptrINS2_16ConnectionSocketENS_14default_deleteIS8_EEEEONS7_INS2_15TransportSocketENS9_ISD_EEEEbE3$_2JjEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSJ_DpOSK_ connection_impl.cc:? (vhds_integration_test+0x49928dc)
    #68 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int>(Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499280d)
    #69 std::__1::__function::__alloc_func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499278d)
    #70 std::__1::__function::__func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x4990dcc)
    #71 std::__1::__function::__value_func<void (unsigned int)>::operator()(unsigned int&&) const mocks.cc:? (vhds_integration_test+0x39e5d24)
    #72 std::__1::function<void (unsigned int)>::operator()(unsigned int) const ??:? (vhds_integration_test+0x39e5c18)
    #73 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::operator()(int, short, void*) const file_event_impl.cc:? (vhds_integration_test+0x4975beb)
    #74 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::__invoke(int, short, void*) file_event_impl.cc:? (vhds_integration_test+0x49759f6)
    #75 event_persist_closure event.c:? (vhds_integration_test+0x500c840)
    #76 event_process_active_single_queue event.c:? (vhds_integration_test+0x500b268)
    #77 event_process_active event.c:? (vhds_integration_test+0x5000bb8)
    #78 event_base_loop ??:? (vhds_integration_test+0x4ffe883)
    #79 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4acbd8f)
    #80 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4963f11)
    #81 Envoy::Server::InstanceImpl::run() ??:? (vhds_integration_test+0x265517b)
    #82 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::__1::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::__1::unique_ptr<Envoy::Runtime::RandomGenerator, std::__1::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >) ??:? (vhds_integration_test+0x24745e0)
    #83 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2474032)
    #84 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0::operator()() const server.cc:? (vhds_integration_test+0x2477690)
    #85 _ZNSt3__18__invokeIRZN5Envoy21IntegrationTestServer5startENS1_7Network7Address9IpVersionENS_8functionIFvvEEEbbN4absl8optionalINS_17reference_wrapperINS1_13ProcessObjectEEEEEbbjE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSH_DpOSI_ server.cc:? (vhds_integration_test+0x2477530)
    #86 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&>(Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&) server.cc:? (vhds_integration_test+0x2477490)
    #87 std::__1::__function::__alloc_func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2477430)
    #88 std::__1::__function::__func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2475ddf)
    #89 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #90 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #91 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const thread_impl.cc:? (vhds_integration_test+0x4fea0fb)
    #92 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) thread_impl.cc:? (vhds_integration_test+0x4fea088)

SUMMARY: ThreadSanitizer: data race ??:? in __interceptor_free
==================
==================
WARNING: ThreadSanitizer: data race (pid=14)
  Write of size 8 at 0x7b140000f0f8 by thread T7:
    #0 free ??:? (vhds_integration_test+0x21dd4f8)
    #1 std::__1::_DeallocateCaller::__do_call(void*) ??:? (vhds_integration_test+0x2273fb8)
    #2 std::__1::_DeallocateCaller::__do_deallocate_handle_size(void*, unsigned long) ??:? (vhds_integration_test+0x2273f84)
    #3 std::__1::_DeallocateCaller::__do_deallocate_handle_size_align(void*, unsigned long, unsigned long) vhds_integration_test.cc:? (vhds_integration_test+0x2273f24)
    #4 std::__1::__libcpp_deallocate(void*, unsigned long, unsigned long) vhds_integration_test.cc:? (vhds_integration_test+0x2273eb8)
    #5 std::__1::allocator<std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > > >::deallocate(std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > >*, unsigned long) on_demand_update.cc:? (vhds_integration_test+0x3041fa1)
    #6 std::__1::__shared_ptr_emplace<std::__1::function<void (bool)>, std::__1::allocator<std::__1::function<void (bool)> > >::__on_zero_shared_weak() ??:? (vhds_integration_test+0x30419b5)
    #7 std::__1::weak_ptr<std::__1::function<void (bool)> >::~weak_ptr() ??:? (vhds_integration_test+0x30d3867)
    #8 Envoy::Router::RdsRouteConfigProviderImpl::onConfigUpdate() ??:? (vhds_integration_test+0x317c55a)
    #9 Envoy::Router::VhdsSubscription::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x31ab4f8)
    #10 Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x4397540)
    #11 non-virtual thunk to Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x439768c)
    #12 Envoy::Config::WatchMap::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x43cdfe1)
    #13 Envoy::Config::DeltaSubscriptionState::handleGoodResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1f1d)
    #14 Envoy::Config::DeltaSubscriptionState::handleResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1751)
    #15 Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439977a)
    #16 non-virtual thunk to Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439996f)
    #17 Envoy::Config::GrpcStream<envoy::service::discovery::v3::DeltaDiscoveryRequest, envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessage(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x294ffca)
    #18 Envoy::Grpc::AsyncStreamCallbacks<envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessageRaw(std::__1::unique_ptr<Envoy::Buffer::Instance, std::__1::default_delete<Envoy::Buffer::Instance> >&&) ??:? (vhds_integration_test+0x294fca6)
    #19 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420c3f)
    #20 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420dcf)
    #21 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4435301)
    #22 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x443540f)
    #23 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) ??:? (vhds_integration_test+0x445fc73)
    #24 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4463c0f)
    #25 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x2e561d9)
    #26 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) ??:? (vhds_integration_test+0x47ffa2a)
    #27 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::operator()(nghttp2_session*, nghttp2_frame const*, void*) const codec_impl.cc:? (vhds_integration_test+0x4808d20)
    #28 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::__invoke(nghttp2_session*, nghttp2_frame const*, void*) codec_impl.cc:? (vhds_integration_test+0x4808c98)
    #29 session_call_on_frame_received nghttp2_session.c:? (vhds_integration_test+0x4848541)
    #30 nghttp2_session_on_data_received ??:? (vhds_integration_test+0x484bec4)
    #31 session_process_data_frame nghttp2_session.c:? (vhds_integration_test+0x485859b)
    #32 nghttp2_session_mem_recv ??:? (vhds_integration_test+0x4853ae2)
    #33 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fd794)
    #34 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fdce0)
    #35 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x434cb2c)
    #36 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4351d3c)
    #37 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) ??:? (vhds_integration_test+0x499eaa5)
    #38 Envoy::Network::FilterManagerImpl::onRead() ??:? (vhds_integration_test+0x499ed14)
    #39 Envoy::Network::ConnectionImpl::onRead(unsigned long) ??:? (vhds_integration_test+0x4985bf7)
    #40 Envoy::Network::ConnectionImpl::onReadReady() ??:? (vhds_integration_test+0x4989e30)
    #41 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) ??:? (vhds_integration_test+0x49899e6)
    #42 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const connection_impl.cc:? (vhds_integration_test+0x4992967)
    #43 _ZNSt3__18__invokeIRZN5Envoy7Network14ConnectionImplC1ERNS1_5Event10DispatcherEONS_10unique_ptrINS2_16ConnectionSocketENS_14default_deleteIS8_EEEEONS7_INS2_15TransportSocketENS9_ISD_EEEEbE3$_2JjEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSJ_DpOSK_ connection_impl.cc:? (vhds_integration_test+0x49928dc)
    #44 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int>(Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499280d)
    #45 std::__1::__function::__alloc_func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499278d)
    #46 std::__1::__function::__func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x4990dcc)
    #47 std::__1::__function::__value_func<void (unsigned int)>::operator()(unsigned int&&) const mocks.cc:? (vhds_integration_test+0x39e5d24)
    #48 std::__1::function<void (unsigned int)>::operator()(unsigned int) const ??:? (vhds_integration_test+0x39e5c18)
    #49 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::operator()(int, short, void*) const file_event_impl.cc:? (vhds_integration_test+0x4975beb)
    #50 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::__invoke(int, short, void*) file_event_impl.cc:? (vhds_integration_test+0x49759f6)
    #51 event_persist_closure event.c:? (vhds_integration_test+0x500c840)
    #52 event_process_active_single_queue event.c:? (vhds_integration_test+0x500b268)
    #53 event_process_active event.c:? (vhds_integration_test+0x5000bb8)
    #54 event_base_loop ??:? (vhds_integration_test+0x4ffe883)
    #55 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4acbd8f)
    #56 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4963f11)
    #57 Envoy::Server::InstanceImpl::run() ??:? (vhds_integration_test+0x265517b)
    #58 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::__1::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::__1::unique_ptr<Envoy::Runtime::RandomGenerator, std::__1::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >) ??:? (vhds_integration_test+0x24745e0)
    #59 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2474032)
    #60 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0::operator()() const server.cc:? (vhds_integration_test+0x2477690)
    #61 _ZNSt3__18__invokeIRZN5Envoy21IntegrationTestServer5startENS1_7Network7Address9IpVersionENS_8functionIFvvEEEbbN4absl8optionalINS_17reference_wrapperINS1_13ProcessObjectEEEEEbbjE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSH_DpOSI_ server.cc:? (vhds_integration_test+0x2477530)
    #62 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&>(Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&) server.cc:? (vhds_integration_test+0x2477490)
    #63 std::__1::__function::__alloc_func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2477430)
    #64 std::__1::__function::__func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2475ddf)
    #65 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #66 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #67 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const thread_impl.cc:? (vhds_integration_test+0x4fea0fb)
    #68 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) thread_impl.cc:? (vhds_integration_test+0x4fea088)

  Previous atomic write of size 8 at 0x7b140000f0f8 by thread T6:
    [failed to restore the stack]

  Thread T7 (tid=106, running) created by main thread at:
    #0 pthread_create ??:? (vhds_integration_test+0x21de78b)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9bfe)
    #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 ()>&) thread_impl.cc:? (vhds_integration_test+0x4fea3ee)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9f93)
    #4 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2472c9d)
    #5 Envoy::IntegrationTestServer::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::IpVersion, std::__1::function<void (Envoy::IntegrationTestServer&)>, std::__1::function<void ()>, bool, Envoy::Event::TestTimeSystem&, Envoy::Api::Api&, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2472849)
    #6 Envoy::BaseIntegrationTest::createGeneratedApiTestServer(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool, bool, bool) ??:? (vhds_integration_test+0x23d50e3)
    #7 Envoy::BaseIntegrationTest::createEnvoy() ??:? (vhds_integration_test+0x23d4ced)
    #8 Envoy::BaseIntegrationTest::initialize() ??:? (vhds_integration_test+0x23d36d4)
    #9 Envoy::(anonymous namespace)::VhdsIntegrationTest::initialize() vhds_integration_test.cc:? (vhds_integration_test+0x2258771)
    #10 Envoy::HttpIntegrationTest::makeHeaderOnlyRequest(std::__1::function<std::__1::unique_ptr<Envoy::Network::ClientConnection, std::__1::default_delete<Envoy::Network::ClientConnection> > ()>*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x22db056)
    #11 Envoy::HttpIntegrationTest::testRouterHeaderOnlyRequestAndResponse(std::__1::function<std::__1::unique_ptr<Envoy::Network::ClientConnection, std::__1::default_delete<Envoy::Network::ClientConnection> > ()>*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x22db580)
    #12 Envoy::(anonymous namespace)::VhdsIntegrationTest_VhdsVirtualHostAddUpdateRemove_Test::TestBody() vhds_integration_test.cc:? (vhds_integration_test+0x225bb24)
    #13 non-virtual thunk to Envoy::(anonymous namespace)::VhdsIntegrationTest_VhdsVirtualHostAddUpdateRemove_Test::TestBody() vhds_integration_test.cc:? (vhds_integration_test+0x225e142)
    #14 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ??:? (vhds_integration_test+0x67ad5dc)
    #15 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ??:? (vhds_integration_test+0x679341e)
    #16 testing::Test::Run() ??:? (vhds_integration_test+0x6778b31)
    #17 testing::TestInfo::Run() ??:? (vhds_integration_test+0x67799d3)
    #18 testing::TestSuite::Run() ??:? (vhds_integration_test+0x677a3be)
    #19 testing::internal::UnitTestImpl::RunAllTests() ??:? (vhds_integration_test+0x678966d)
    #20 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:? (vhds_integration_test+0x67b3cfc)
    #21 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:? (vhds_integration_test+0x679713e)
    #22 testing::UnitTest::Run() ??:? (vhds_integration_test+0x6788f2b)
    #23 RUN_ALL_TESTS() ??:? (vhds_integration_test+0x47f5847)
    #24 Envoy::TestRunner::RunTests(int, char**) ??:? (vhds_integration_test+0x47f4ba6)
    #25 main ??:? (vhds_integration_test+0x47f201a)

  Thread T6 (tid=112, running) created by thread T7 at:
    #0 pthread_create ??:? (vhds_integration_test+0x21de78b)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9bfe)
    #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 ()>&) thread_impl.cc:? (vhds_integration_test+0x4fea3ee)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) ??:? (vhds_integration_test+0x4fe9f93)
    #4 Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&) ??:? (vhds_integration_test+0x2826142)
    #5 Envoy::Server::ListenerManagerImpl::startWorkers(Envoy::Server::GuardDog&) ??:? (vhds_integration_test+0x2714e47)
    #6 Envoy::Server::InstanceImpl::startWorkers() ??:? (vhds_integration_test+0x2653dd1)
    #7 Envoy::Server::InstanceImpl::run()::$_11::operator()() const server.cc:? (vhds_integration_test+0x2671941)
    #8 _ZNSt3__18__invokeIRZN5Envoy6Server12InstanceImpl3runEvE4$_11JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS6_DpOS7_ server.cc:? (vhds_integration_test+0x2671880)
    #9 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Server::InstanceImpl::run()::$_11&>(Envoy::Server::InstanceImpl::run()::$_11&) server.cc:? (vhds_integration_test+0x26717e0)
    #10 std::__1::__function::__alloc_func<Envoy::Server::InstanceImpl::run()::$_11, std::__1::allocator<Envoy::Server::InstanceImpl::run()::$_11>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2671780)
    #11 std::__1::__function::__func<Envoy::Server::InstanceImpl::run()::$_11, std::__1::allocator<Envoy::Server::InstanceImpl::run()::$_11>, void ()>::operator()() server.cc:? (vhds_integration_test+0x266fddf)
    #12 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #13 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #14 Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5::operator()() const server.cc:? (vhds_integration_test+0x2663f9d)
    #15 _ZNSt3__18__invokeIRZN5Envoy6Server9RunHelperC1ERNS2_8InstanceERKNS2_7OptionsERNS1_5Event10DispatcherERNS1_8Upstream14ClusterManagerERNS1_9AccessLog16AccessLogManagerERNS1_4Init7ManagerERNS2_15OverloadManagerENS_8functionIFvvEEEE3$_5JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSS_DpOST_ server.cc:? (vhds_integration_test+0x2663ee0)
    #16 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5&>(Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5&) server.cc:? (vhds_integration_test+0x2663e40)
    #17 std::__1::__function::__alloc_func<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5, std::__1::allocator<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2663de0)
    #18 std::__1::__function::__func<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5, std::__1::allocator<Envoy::Server::RunHelper::RunHelper(Envoy::Server::Instance&, Envoy::Server::Options const&, Envoy::Event::Dispatcher&, Envoy::Upstream::ClusterManager&, Envoy::AccessLog::AccessLogManager&, Envoy::Init::Manager&, Envoy::Server::OverloadManager&, std::__1::function<void ()>)::$_5>, void ()>::operator()() server.cc:? (vhds_integration_test+0x26624af)
    #19 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #20 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #21 Envoy::Init::WatcherHandleImpl::ready() const ??:? (vhds_integration_test+0x4734f05)
    #22 Envoy::Init::ManagerImpl::ready() ??:? (vhds_integration_test+0x472fd79)
    #23 Envoy::Init::ManagerImpl::onTargetReady() ??:? (vhds_integration_test+0x472ff14)
    #24 Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0::operator()() const manager_impl.cc:? (vhds_integration_test+0x473220b)
    #25 _ZNSt3__18__invokeIRZN5Envoy4Init11ManagerImplC1EN4absl11string_viewEE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS8_DpOS9_ manager_impl.cc:? (vhds_integration_test+0x4732190)
    #26 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0&>(Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0&) manager_impl.cc:? (vhds_integration_test+0x47320f0)
    #27 std::__1::__function::__alloc_func<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0, std::__1::allocator<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0>, void ()>::operator()() manager_impl.cc:? (vhds_integration_test+0x4732090)
    #28 std::__1::__function::__func<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0, std::__1::allocator<Envoy::Init::ManagerImpl::ManagerImpl(absl::string_view)::$_0>, void ()>::operator()() manager_impl.cc:? (vhds_integration_test+0x47306ef)
    #29 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #30 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #31 Envoy::Init::WatcherHandleImpl::ready() const ??:? (vhds_integration_test+0x4734f05)
    #32 Envoy::Init::TargetImpl::ready() ??:? (vhds_integration_test+0x4c946c2)
    #33 Envoy::Router::VhdsSubscription::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x31ab525)
    #34 Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x4397540)
    #35 non-virtual thunk to Envoy::Config::DeltaSubscriptionImpl::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x439768c)
    #36 Envoy::Config::WatchMap::onConfigUpdate(google::protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource> const&, google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ??:? (vhds_integration_test+0x43cdfe1)
    #37 Envoy::Config::DeltaSubscriptionState::handleGoodResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1f1d)
    #38 Envoy::Config::DeltaSubscriptionState::handleResponse(envoy::service::discovery::v3::DeltaDiscoveryResponse const&) ??:? (vhds_integration_test+0x43b1751)
    #39 Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439977a)
    #40 non-virtual thunk to Envoy::Config::NewGrpcMuxImpl::onDiscoveryResponse(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x439996f)
    #41 Envoy::Config::GrpcStream<envoy::service::discovery::v3::DeltaDiscoveryRequest, envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessage(std::__1::unique_ptr<envoy::service::discovery::v3::DeltaDiscoveryResponse, std::__1::default_delete<envoy::service::discovery::v3::DeltaDiscoveryResponse> >&&) ??:? (vhds_integration_test+0x294ffca)
    #42 Envoy::Grpc::AsyncStreamCallbacks<envoy::service::discovery::v3::DeltaDiscoveryResponse>::onReceiveMessageRaw(std::__1::unique_ptr<Envoy::Buffer::Instance, std::__1::default_delete<Envoy::Buffer::Instance> >&&) ??:? (vhds_integration_test+0x294fca6)
    #43 Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420c3f)
    #44 non-virtual thunk to Envoy::Grpc::AsyncStreamImpl::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4420dcf)
    #45 Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4435301)
    #46 non-virtual thunk to Envoy::Http::AsyncStreamImpl::encodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x443540f)
    #47 Envoy::Router::Filter::onUpstreamData(Envoy::Buffer::Instance&, Envoy::Router::Filter::UpstreamRequest&, bool) ??:? (vhds_integration_test+0x445fc73)
    #48 Envoy::Router::Filter::UpstreamRequest::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4463c0f)
    #49 Envoy::Http::StreamDecoderWrapper::decodeData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x2e561d9)
    #50 Envoy::Http::Http2::ConnectionImpl::onFrameReceived(nghttp2_frame const*) ??:? (vhds_integration_test+0x47ffa2a)
    #51 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::operator()(nghttp2_session*, nghttp2_frame const*, void*) const codec_impl.cc:? (vhds_integration_test+0x4808d20)
    #52 Envoy::Http::Http2::ConnectionImpl::Http2Callbacks::Http2Callbacks()::$_11::__invoke(nghttp2_session*, nghttp2_frame const*, void*) codec_impl.cc:? (vhds_integration_test+0x4808c98)
    #53 session_call_on_frame_received nghttp2_session.c:? (vhds_integration_test+0x4848541)
    #54 nghttp2_session_on_data_received ??:? (vhds_integration_test+0x484bec4)
    #55 session_process_data_frame nghttp2_session.c:? (vhds_integration_test+0x485859b)
    #56 nghttp2_session_mem_recv ??:? (vhds_integration_test+0x4853ae2)
    #57 Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fd794)
    #58 virtual thunk to Envoy::Http::Http2::ConnectionImpl::dispatch(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x47fdce0)
    #59 Envoy::Http::CodecClient::onData(Envoy::Buffer::Instance&) ??:? (vhds_integration_test+0x434cb2c)
    #60 Envoy::Http::CodecClient::CodecReadFilter::onData(Envoy::Buffer::Instance&, bool) ??:? (vhds_integration_test+0x4351d3c)
    #61 Envoy::Network::FilterManagerImpl::onContinueReading(Envoy::Network::FilterManagerImpl::ActiveReadFilter*, Envoy::Network::ReadBufferSource&) ??:? (vhds_integration_test+0x499eaa5)
    #62 Envoy::Network::FilterManagerImpl::onRead() ??:? (vhds_integration_test+0x499ed14)
    #63 Envoy::Network::ConnectionImpl::onRead(unsigned long) ??:? (vhds_integration_test+0x4985bf7)
    #64 Envoy::Network::ConnectionImpl::onReadReady() ??:? (vhds_integration_test+0x4989e30)
    #65 Envoy::Network::ConnectionImpl::onFileEvent(unsigned int) ??:? (vhds_integration_test+0x49899e6)
    #66 Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2::operator()(unsigned int) const connection_impl.cc:? (vhds_integration_test+0x4992967)
    #67 _ZNSt3__18__invokeIRZN5Envoy7Network14ConnectionImplC1ERNS1_5Event10DispatcherEONS_10unique_ptrINS2_16ConnectionSocketENS_14default_deleteIS8_EEEEONS7_INS2_15TransportSocketENS9_ISD_EEEEbE3$_2JjEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSJ_DpOSK_ connection_impl.cc:? (vhds_integration_test+0x49928dc)
    #68 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int>(Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2&, unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499280d)
    #69 std::__1::__function::__alloc_func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x499278d)
    #70 std::__1::__function::__func<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2, std::__1::allocator<Envoy::Network::ConnectionImpl::ConnectionImpl(Envoy::Event::Dispatcher&, std::__1::unique_ptr<Envoy::Network::ConnectionSocket, std::__1::default_delete<Envoy::Network::ConnectionSocket> >&&, std::__1::unique_ptr<Envoy::Network::TransportSocket, std::__1::default_delete<Envoy::Network::TransportSocket> >&&, bool)::$_2>, void (unsigned int)>::operator()(unsigned int&&) connection_impl.cc:? (vhds_integration_test+0x4990dcc)
    #71 std::__1::__function::__value_func<void (unsigned int)>::operator()(unsigned int&&) const mocks.cc:? (vhds_integration_test+0x39e5d24)
    #72 std::__1::function<void (unsigned int)>::operator()(unsigned int) const ??:? (vhds_integration_test+0x39e5c18)
    #73 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::operator()(int, short, void*) const file_event_impl.cc:? (vhds_integration_test+0x4975beb)
    #74 Envoy::Event::FileEventImpl::assignEvents(unsigned int, event_base*)::$_0::__invoke(int, short, void*) file_event_impl.cc:? (vhds_integration_test+0x49759f6)
    #75 event_persist_closure event.c:? (vhds_integration_test+0x500c840)
    #76 event_process_active_single_queue event.c:? (vhds_integration_test+0x500b268)
    #77 event_process_active event.c:? (vhds_integration_test+0x5000bb8)
    #78 event_base_loop ??:? (vhds_integration_test+0x4ffe883)
    #79 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4acbd8f)
    #80 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) ??:? (vhds_integration_test+0x4963f11)
    #81 Envoy::Server::InstanceImpl::run() ??:? (vhds_integration_test+0x265517b)
    #82 Envoy::IntegrationTestServerImpl::createAndRunEnvoyServer(Envoy::OptionsImpl&, Envoy::Event::TimeSystem&, std::__1::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::ListenerHooks&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::__1::unique_ptr<Envoy::Runtime::RandomGenerator, std::__1::default_delete<Envoy::Runtime::RandomGenerator> >&&, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >) ??:? (vhds_integration_test+0x24745e0)
    #83 Envoy::IntegrationTestServer::threadRoutine(Envoy::Network::Address::IpVersion, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int) ??:? (vhds_integration_test+0x2474032)
    #84 Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0::operator()() const server.cc:? (vhds_integration_test+0x2477690)
    #85 _ZNSt3__18__invokeIRZN5Envoy21IntegrationTestServer5startENS1_7Network7Address9IpVersionENS_8functionIFvvEEEbbN4absl8optionalINS_17reference_wrapperINS1_13ProcessObjectEEEEEbbjE3$_0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSH_DpOSI_ server.cc:? (vhds_integration_test+0x2477530)
    #86 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&>(Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0&) server.cc:? (vhds_integration_test+0x2477490)
    #87 std::__1::__function::__alloc_func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2477430)
    #88 std::__1::__function::__func<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0, std::__1::allocator<Envoy::IntegrationTestServer::start(Envoy::Network::Address::IpVersion, std::__1::function<void ()>, bool, bool, absl::optional<std::__1::reference_wrapper<Envoy::ProcessObject> >, bool, bool, unsigned int)::$_0>, void ()>::operator()() server.cc:? (vhds_integration_test+0x2475ddf)
    #89 std::__1::__function::__value_func<void ()>::operator()() const autonomous_upstream.cc:? (vhds_integration_test+0x235e766)
    #90 std::__1::function<void ()>::operator()() const ??:? (vhds_integration_test+0x235e428)
    #91 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const thread_impl.cc:? (vhds_integration_test+0x4fea0fb)
    #92 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) thread_impl.cc:? (vhds_integration_test+0x4fea088)

SUMMARY: ThreadSanitizer: data race ??:? in __interceptor_free
==================

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions