Skip to content

udp_proxy_integration_test tsan flake #9018

@mattklein123

Description

@mattklein123
[ RUN      ] IpVersions/UdpProxyIntegrationTest.HelloWorldOnLoopback/IPv6
==================
WARNING: ThreadSanitizer: data race (pid=17)
  Write of size 8 at 0x7b2400004970 by main thread:
    #0 free /local/mnt/workspace/bcain_clang_bcain-ubuntu_23113/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:706:3 (udp_proxy_integration_test+0x1b774e8)
    #1 std::__1::_DeallocateCaller::__do_call(void*) /opt/llvm/bin/../include/c++/v1/new:334:12 (udp_proxy_integration_test+0x1bfc418)
    #2 std::__1::_DeallocateCaller::__do_deallocate_handle_size(void*, unsigned long) /opt/llvm/bin/../include/c++/v1/new:292:12 (udp_proxy_integration_test+0x1bfc3e4)
    #3 std::__1::_DeallocateCaller::__do_deallocate_handle_size_align(void*, unsigned long, unsigned long) /opt/llvm/bin/../include/c++/v1/new:262:12 (udp_proxy_integration_test+0x1bfc384)
    #4 std::__1::__libcpp_deallocate(void*, unsigned long, unsigned long) /opt/llvm/bin/../include/c++/v1/new:340:3 (udp_proxy_integration_test+0x1bfc318)
    #5 std::__1::allocator<std::__1::__shared_ptr_emplace<Envoy::Network::Address::Ipv6Instance, std::__1::allocator<Envoy::Network::Address::Ipv6Instance> > >::deallocate(std::__1::__shared_ptr_emplace<Envoy::Network::Address::Ipv6Instance, std::__1::allocator<Envoy::Network::Address::Ipv6Instance> >*, unsigned long) /opt/llvm/bin/../include/c++/v1/memory:1816:10 (udp_proxy_integration_test+0x2117661)
    #6 std::__1::__shared_ptr_emplace<Envoy::Network::Address::Ipv6Instance, std::__1::allocator<Envoy::Network::Address::Ipv6Instance> >::__on_zero_shared_weak() /opt/llvm/bin/../include/c++/v1/memory:3593:9 (udp_proxy_integration_test+0x2116d05)
    #7 std::__1::__shared_weak_count::__release_shared() /opt/llvm/bin/../include/c++/v1/memory:3458:9 (udp_proxy_integration_test+0x1c004c8)
    #8 std::__1::shared_ptr<Envoy::Network::Address::Instance const>::~shared_ptr() /opt/llvm/bin/../include/c++/v1/memory:4393:19 (udp_proxy_integration_test+0x1c10987)
    #9 Envoy::Network::UdpRecvData::LocalPeerAddresses::~LocalPeerAddresses() /proc/self/cwd/bazel-out/k8-dbg/bin/include/envoy/network/_virtual_includes/listener_interface/envoy/network/listener.h:165:10 (udp_proxy_integration_test+0x1c507a9)
    #10 Envoy::Network::UdpRecvData::~UdpRecvData() /proc/self/cwd/bazel-out/k8-dbg/bin/include/envoy/network/_virtual_includes/listener_interface/envoy/network/listener.h:164:8 (udp_proxy_integration_test+0x1c416f2)
    #11 Envoy::(anonymous namespace)::UdpProxyIntegrationTest::requestResponseWithListenerAddress(Envoy::Network::Address::Instance const&) /proc/self/cwd/test/extensions/filters/udp/udp_proxy/udp_proxy_integration_test.cc:90:3 (udp_proxy_integration_test+0x1becc02)
    #12 Envoy::(anonymous namespace)::UdpProxyIntegrationTest_HelloWorldOnLoopback_Test::TestBody() /proc/self/cwd/test/extensions/filters/udp/udp_proxy/udp_proxy_integration_test.cc:103:3 (udp_proxy_integration_test+0x1beba76)
    #13 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (udp_proxy_integration_test+0x5680d4c)
    #14 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (udp_proxy_integration_test+0x566515e)
    #15 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2522:5 (udp_proxy_integration_test+0x564a611)
    #16 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2698:11 (udp_proxy_integration_test+0x564b4b3)
    #17 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2828:28 (udp_proxy_integration_test+0x564be9e)
    #18 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5285:44 (udp_proxy_integration_test+0x565b17d)
    #19 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (udp_proxy_integration_test+0x5687aec)
    #20 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (udp_proxy_integration_test+0x5668efe)
    #21 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4873:10 (udp_proxy_integration_test+0x565aa3b)
    #22 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2453:46 (udp_proxy_integration_test+0x3f437a7)
    #23 Envoy::TestRunner::RunTests(int, char**) /proc/self/cwd/test/test_runner.cc:121:10 (udp_proxy_integration_test+0x3f42b06)
    #24 main /proc/self/cwd/test/main.cc:46:10 (udp_proxy_integration_test+0x3f3faca)

  Previous read of size 8 at 0x7b2400004970 by thread T11:
    #0 sendmsg /local/mnt/workspace/bcain_clang_bcain-ubuntu_23113/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:3047:3 (udp_proxy_integration_test+0x1b91385)
    #1 Envoy::Api::OsSysCallsImpl::sendmsg(int, msghdr const*, int) /proc/self/cwd/source/common/api/os_sys_calls_impl.cc:81:18 (udp_proxy_integration_test+0x43c17a6)
    #2 Envoy::Network::IoSocketHandleImpl::sendmsg(Envoy::Buffer::RawSlice const*, unsigned long, int, Envoy::Network::Address::Ip const*, Envoy::Network::Address::Instance const&) /proc/self/cwd/source/common/network/io_socket_handle_impl.cc:106:55 (udp_proxy_integration_test+0x43bcc8b)
    #3 Envoy::Network::Utility::writeToSocket(Envoy::Network::IoHandle&, Envoy::Buffer::RawSlice*, unsigned long, Envoy::Network::Address::Ip const*, Envoy::Network::Address::Instance const&) /proc/self/cwd/source/common/network/utility.cc:511:26 (udp_proxy_integration_test+0x43a9bcd)
    #4 Envoy::Network::Utility::writeToSocket(Envoy::Network::IoHandle&, Envoy::Buffer::Instance const&, Envoy::Network::Address::Ip const*, Envoy::Network::Address::Instance const&) /proc/self/cwd/source/common/network/utility.cc:502:10 (udp_proxy_integration_test+0x43a9998)
    #5 Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12::operator()() const /proc/self/cwd/test/integration/fake_upstream.cc:585:21 (udp_proxy_integration_test+0x1d0bd12)
    #6 decltype(std::__1::forward<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12&>(fp)()) std::__1::__invoke<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12&>(Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12&) /opt/llvm/bin/../include/c++/v1/type_traits:3530:1 (udp_proxy_integration_test+0x1d0bbb0)
    #7 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12&>(Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12&) /opt/llvm/bin/../include/c++/v1/__functional_base:348:9 (udp_proxy_integration_test+0x1d0bb10)
    #8 std::__1::__function::__alloc_func<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12, std::__1::allocator<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1533:16 (udp_proxy_integration_test+0x1d0bab0)
    #9 std::__1::__function::__func<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12, std::__1::allocator<Envoy::FakeUpstream::sendUdpDatagram(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Network::Address::Instance const&)::$_12>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1707:12 (udp_proxy_integration_test+0x1d09dbf)
    #10 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:1860:16 (udp_proxy_integration_test+0x1ccbda6)
    #11 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:2419:12 (udp_proxy_integration_test+0x1ccba38)
    #12 Envoy::Event::DispatcherImpl::runPostCallbacks() /proc/self/cwd/source/common/event/dispatcher_impl.cc:222:5 (udp_proxy_integration_test+0x407975f)
    #13 Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1::operator()() const /proc/self/cwd/source/common/event/dispatcher_impl.cc:43:58 (udp_proxy_integration_test+0x407e88b)
    #14 decltype(std::__1::forward<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(fp)()) std::__1::__invoke<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&) /opt/llvm/bin/../include/c++/v1/type_traits:3530:1 (udp_proxy_integration_test+0x407e7e0)
    #15 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1&) /opt/llvm/bin/../include/c++/v1/__functional_base:348:9 (udp_proxy_integration_test+0x407e740)
    #16 std::__1::__function::__alloc_func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1533:16 (udp_proxy_integration_test+0x407e6e0)
    #17 std::__1::__function::__func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::unique_ptr<Envoy::Buffer::WatermarkFactory, std::__1::default_delete<Envoy::Buffer::WatermarkFactory> >&&, Envoy::Api::Api&, Envoy::Event::TimeSystem&)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1707:12 (udp_proxy_integration_test+0x407c9af)
    #18 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:1860:16 (udp_proxy_integration_test+0x1ccbda6)
    #19 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:2419:12 (udp_proxy_integration_test+0x1ccba38)
    #20 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &(event_base_free)>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_0::operator()(int, short, void*) const /proc/self/cwd/source/common/event/timer_impl.cc:23:3 (udp_proxy_integration_test+0x41eb9b5)
    #21 Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &(event_base_free)>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_0::__invoke(int, short, void*) /proc/self/cwd/source/common/event/timer_impl.cc:23:3 (udp_proxy_integration_test+0x41eb916)
    #22 event_process_active_single_queue /b/f/w/external/com_github_libevent_libevent/event.c:1713:4 (udp_proxy_integration_test+0x5503b75)
    #23 event_process_active /b/f/w/external/com_github_libevent_libevent/event.c:1805:9 (udp_proxy_integration_test+0x54f91c8)
    #24 event_base_loop /b/f/w/external/com_github_libevent_libevent/event.c:2047:12 (udp_proxy_integration_test+0x54f6e93)
    #25 Envoy::Event::LibeventScheduler::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/libevent_scheduler.cc:47:3 (udp_proxy_integration_test+0x41e96bf)
    #26 Envoy::Event::DispatcherImpl::run(Envoy::Event::Dispatcher::RunType) /proc/self/cwd/source/common/event/dispatcher_impl.cc:194:19 (udp_proxy_integration_test+0x4079631)
    #27 Envoy::FakeUpstream::threadRoutine() /proc/self/cwd/test/integration/fake_upstream.cc:456:16 (udp_proxy_integration_test+0x1ce6637)
    #28 Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11::operator()() const /proc/self/cwd/test/integration/fake_upstream.cc:419:67 (udp_proxy_integration_test+0x1d08deb)
    #29 decltype(std::__1::forward<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(fp)()) std::__1::__invoke<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&) /opt/llvm/bin/../include/c++/v1/type_traits:3530:1 (udp_proxy_integration_test+0x1d08d40)
    #30 void std::__1::__invoke_void_return_wrapper<void>::__call<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&>(Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11&) /opt/llvm/bin/../include/c++/v1/__functional_base:348:9 (udp_proxy_integration_test+0x1d08ca0)
    #31 std::__1::__function::__alloc_func<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11, std::__1::allocator<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1533:16 (udp_proxy_integration_test+0x1d08c40)
    #32 std::__1::__function::__func<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11, std::__1::allocator<Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool)::$_11>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/functional:1707:12 (udp_proxy_integration_test+0x1d06f0f)
    #33 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:1860:16 (udp_proxy_integration_test+0x1ccbda6)
    #34 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/functional:2419:12 (udp_proxy_integration_test+0x1ccba38)
    #35 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::operator()(void*) const /proc/self/cwd/source/common/common/posix/thread_impl.cc:33:9 (udp_proxy_integration_test+0x54e200b)
    #36 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>)::$_0::__invoke(void*) /proc/self/cwd/source/common/common/posix/thread_impl.cc:32:7 (udp_proxy_integration_test+0x54e1f98)

  Thread T11 (tid=29, running) created by main thread at:
    #0 pthread_create /local/mnt/workspace/bcain_clang_bcain-ubuntu_23113/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (udp_proxy_integration_test+0x1b7877b)
    #1 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::__1::function<void ()>) /proc/self/cwd/source/common/common/posix/thread_impl.cc:30:18 (udp_proxy_integration_test+0x54e1aee)
    #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 ()>&) /opt/llvm/bin/../include/c++/v1/memory:3003:32 (udp_proxy_integration_test+0x54e22fe)
    #3 Envoy::Thread::ThreadFactoryImplPosix::createThread(std::__1::function<void ()>) /proc/self/cwd/source/common/common/posix/thread_impl.cc:46:10 (udp_proxy_integration_test+0x54e1ea3)
    #4 Envoy::FakeUpstream::FakeUpstream(std::__1::unique_ptr<Envoy::Network::TransportSocketFactory, std::__1::default_delete<Envoy::Network::TransportSocketFactory> >&&, std::__1::unique_ptr<Envoy::Network::Socket, std::__1::default_delete<Envoy::Network::Socket> >&&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool) /proc/self/cwd/test/integration/fake_upstream.cc:419:35 (udp_proxy_integration_test+0x1ce4bd4)
    #5 Envoy::FakeUpstream::FakeUpstream(std::__1::shared_ptr<Envoy::Network::Address::Instance const> const&, Envoy::FakeHttpConnection::Type, Envoy::Event::TestTimeSystem&, bool, bool) /proc/self/cwd/test/integration/fake_upstream.cc:382:7 (udp_proxy_integration_test+0x1ce5245)
    #6 Envoy::BaseIntegrationTest::createUpstreams() /proc/self/cwd/test/integration/integration.cc:300:40 (udp_proxy_integration_test+0x1d47a19)
    #7 Envoy::BaseIntegrationTest::initialize() /proc/self/cwd/test/integration/integration.cc:288:3 (udp_proxy_integration_test+0x1d46fa8)
    #8 Envoy::(anonymous namespace)::UdpProxyIntegrationTest::setup(unsigned int) /proc/self/cwd/test/extensions/filters/udp/udp_proxy/udp_proxy_integration_test.cc:63:26 (udp_proxy_integration_test+0x1bebf3b)
    #9 Envoy::(anonymous namespace)::UdpProxyIntegrationTest_HelloWorldOnLoopback_Test::TestBody() /proc/self/cwd/test/extensions/filters/udp/udp_proxy/udp_proxy_integration_test.cc:99:3 (udp_proxy_integration_test+0x1beb98a)
    #10 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (udp_proxy_integration_test+0x5680d4c)
    #11 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (udp_proxy_integration_test+0x566515e)
    #12 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2522:5 (udp_proxy_integration_test+0x564a611)
    #13 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2698:11 (udp_proxy_integration_test+0x564b4b3)
    #14 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2828:28 (udp_proxy_integration_test+0x564be9e)
    #15 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5285:44 (udp_proxy_integration_test+0x565b17d)
    #16 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2447:10 (udp_proxy_integration_test+0x5687aec)
    #17 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2483:14 (udp_proxy_integration_test+0x5668efe)
    #18 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4873:10 (udp_proxy_integration_test+0x565aa3b)
    #19 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2453:46 (udp_proxy_integration_test+0x3f437a7)
    #20 Envoy::TestRunner::RunTests(int, char**) /proc/self/cwd/test/test_runner.cc:121:10 (udp_proxy_integration_test+0x3f42b06)
    #21 main /proc/self/cwd/test/main.cc:46:10 (udp_proxy_integration_test+0x3f3faca)

SUMMARY: ThreadSanitizer: data race /opt/llvm/bin/../include/c++/v1/new:334:12 in std::__1::_DeallocateCaller::__do_call(void*)
==================

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions