envoy
envoy copied to clipboard
ssl: flake in ssl_integration_test under tsan
This was from CI for a PR that does not appear related: #32346
full logs here: https://dev.azure.com/cncf/4684fb3d-0389-4e0b-8251-221942316e06/_apis/build/builds/163565/logs/413
thread 1:
024-02-29T18:05:45.8761644Z [ RUN ] IpVersions/SslIntegrationTest.LogPeerIpSanUnsupportedIpVersion/IPv4
2024-02-29T18:05:45.8762331Z ==================
2024-02-29T18:05:45.8762756Z WARNING: ThreadSanitizer: data race (pid=16)
2024-02-29T18:05:45.8763473Z Write of size 1 at 0x00000c09b828 by main thread:
2024-02-29T18:05:45.8765098Z #0 Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1::operator()() const /proc/self/cwd/source/common/network/address_impl.cc:344:57 (ssl_integration_test+0x8bbec60)
2024-02-29T18:05:45.8768429Z #1 decltype(static_cast<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(fp)()) std::__1::__invoke<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&) /opt/llvm/bin/../include/c++/v1/type_traits:3640:23 (ssl_integration_test+0x8bbebf5)
2024-02-29T18:05:45.8772789Z #2 void std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&) /opt/llvm/bin/../include/c++/v1/__functional/invoke.h:61:9 (ssl_integration_test+0x8bbeb6d)
2024-02-29T18:05:45.8776472Z #3 std::__1::__function::__alloc_func<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1, std::__1::allocator<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:180:16 (ssl_integration_test+0x8bbeb1d)
2024-02-29T18:05:45.8780166Z #4 std::__1::__function::__func<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1, std::__1::allocator<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:354:12 (ssl_integration_test+0x8bbd2d9)
2024-02-29T18:05:45.8782866Z #5 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:507:16 (ssl_integration_test+0x3452e11)
2024-02-29T18:05:45.8784532Z #6 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:1184:12 (ssl_integration_test+0x3452d35)
2024-02-29T18:05:45.8786005Z #7 Envoy::Cleanup::~Cleanup() /proc/self/cwd/./source/common/common/cleanup.h:14:16 (ssl_integration_test+0x3381f09)
2024-02-29T18:05:45.8788019Z #8 Envoy::Ssl::SslIntegrationTest_LogPeerIpSanUnsupportedIpVersion_Test::TestBody() /proc/self/cwd/test/extensions/transport_sockets/tls/integration/ssl_integration_test.cc:504:1 (ssl_integration_test+0x32fd6d5)
thread 2:
024-02-29T18:05:45.8816163Z Previous read of size 1 at 0x00000c09b828 by thread T337:
2024-02-29T18:05:45.8817486Z #0 Envoy::Network::Address::Ipv6Instance::validateProtocolSupported() /proc/self/cwd/source/common/network/address_impl.cc:349:21 (ssl_integration_test+0x8bb7ab3)
2024-02-29T18:05:45.8819764Z #1 Envoy::Network::Address::Ipv6Instance::Ipv6Instance(sockaddr_in6 const&, bool, Envoy::Network::SocketInterface const*) /proc/self/cwd/source/common/network/address_impl.cc:292:16 (ssl_integration_test+0x8bb78ff)
2024-02-29T18:05:45.8822279Z #2 Envoy::Extensions::TransportSockets::Tls::Utility::generalNameAsString(GENERAL_NAME_st const*) /proc/self/cwd/source/extensions/transport_sockets/tls/utility.cc:226:38 (ssl_integration_test+0x700744d)
2024-02-29T18:05:45.8824719Z #3 Envoy::Extensions::TransportSockets::Tls::Utility::getSubjectAltNames(x509_st&, int, bool) /proc/self/cwd/source/extensions/transport_sockets/tls/utility.cc:182:63 (ssl_integration_test+0x7005ace)
2024-02-29T18:05:45.8827278Z #4 Envoy::Extensions::TransportSockets::Tls::ConnectionInfoImplBase::ipSansPeerCertificate() const /proc/self/cwd/source/extensions/transport_sockets/tls/connection_info_impl_base.cc:188:37 (ssl_integration_test+0x6f7a7fe)
2024-02-29T18:05:45.8831492Z #5 Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)::operator()(Envoy::Ssl::ConnectionInfo const&) const /proc/self/cwd/source/common/formatter/stream_info_formatter.cc:639:3 (ssl_integration_test+0x7d508f8)
2024-02-29T18:05:45.8840596Z #6 decltype(static_cast<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&>(fp)(static_cast<Envoy::Ssl::ConnectionInfo const&>(fp0))) std::__1::__invoke<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&>(Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/type_traits:3640:23 (ssl_integration_test+0x7d50865)
2024-02-29T18:05:45.8852628Z #7 std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > std::__1::__invoke_void_return_wrapper<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, false>::__call<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&>(Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/invoke.h:30:16 (ssl_integration_test+0x7d50761)
2024-02-29T18:05:45.8863976Z #8 std::__1::__function::__alloc_func<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&), std::__1::allocator<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/function.h:180:16 (ssl_integration_test+0x7d506ce)
2024-02-29T18:05:45.8873944Z #9 std::__1::__function::__func<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&), std::__1::allocator<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_56::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/function.h:354:12 (ssl_integration_test+0x7d4ee6d)
2024-02-29T18:05:45.8880184Z #10 std::__1::__function::__value_func<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) const /opt/llvm/bin/../include/c++/v1/__functional/function.h:507:16 (ssl_integration_test+0x7e00d56)
2024-02-29T18:05:45.8883919Z #11 std::__1::function<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) const /opt/llvm/bin/../include/c++/v1/__functional/function.h:1184:12 (ssl_integration_test+0x7e00c39)
2024-02-29T18:05:45.8886986Z #12 Envoy::Formatter::StreamInfoSslConnectionInfoFormatterProvider::format(Envoy::StreamInfo::StreamInfo const&) const /proc/self/cwd/source/common/formatter/stream_info_formatter.cc:574:24 (ssl_integration_test+0x7e01c78)
2024-02-29T18:05:45.8890484Z #13 Envoy::Formatter::CommonStreamInfoFormatterBase<Envoy::Formatter::HttpFormatterContext>::formatWithContext(Envoy::Formatter::HttpFormatterContext const&, Envoy::StreamInfo::StreamInfo const&) const /proc/self/cwd/./source/common/formatter/stream_info_formatter.h:295:24 (ssl_integration_test+0x4d550aa)
2024-02-29T18:05:45.8894526Z #14 Envoy::Formatter::CommonFormatterBaseImpl<Envoy::Formatter::HttpFormatterContext>::formatWithContext(Envoy::Formatter::HttpFormatterContext const&, Envoy::StreamInfo::StreamInfo const&) const /proc/self/cwd/./source/common/formatter/substitution_formatter.h:160:34 (ssl_integration_test+0x4d3ab8c)
2024-02-29T18:05:45.8897917Z #15 Envoy::Extensions::AccessLoggers::File::FileAccessLog::emitLog(Envoy::Formatter::HttpFormatterContext const&, Envoy::StreamInfo::StreamInfo const&) /proc/self/cwd/source/extensions/access_loggers/common/file_access_log_impl.cc:19:32 (ssl_integration_test+0x68bbe9a)
2024-02-29T18:05:45.8901106Z #16 Envoy::Extensions::AccessLoggers::Common::ImplBase::log(Envoy::Formatter::HttpFormatterContext const&, Envoy::StreamInfo::StreamInfo const&) /proc/self/cwd/source/extensions/access_loggers/common/access_log_base.cc:18:10 (ssl_integration_test+0x68bc8cb)
2024-02-29T18:05:45.8904059Z #17 Envoy::Server::ActiveStreamListenerBase::emitLogs(Envoy::Network::ListenerConfig&, Envoy::StreamInfo::StreamInfo&) /proc/self/cwd/source/common/listener_manager/active_stream_listener_base.cc:34:17 (ssl_integration_test+0x647af52)
2024-02-29T18:05:45.8906560Z #18 Envoy::Server::ActiveTcpConnection::~ActiveTcpConnection() /proc/self/cwd/source/common/listener_manager/active_stream_listener_base.cc:111:3 (ssl_integration_test+0x647dfa3)
2024-02-29T18:05:45.8908753Z #19 Envoy::Server::ActiveTcpConnection::~ActiveTcpConnection() /proc/self/cwd/source/common/listener_manager/active_stream_listener_base.cc:110:45 (ssl_integration_test+0x647e239)
2024-02-29T18:05:45.8910990Z #20 std::__1::default_delete<Envoy::Event::DeferredDeletable>::operator()(Envoy::Event::DeferredDeletable*) const /opt/llvm/bin/../include/c++/v1/__memory/unique_ptr.h:54:5 (ssl_integration_test+0x4db180d)
2024-02-29T18:05:45.8913539Z #21 std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> >::reset(Envoy::Event::DeferredDeletable*) /opt/llvm/bin/../include/c++/v1/__memory/unique_ptr.h:315:7 (ssl_integration_test+0x4db17b4)
2024-02-29T18:05:45.8915899Z #22 Envoy::Event::DispatcherImpl::clearDeferredDeleteList() /proc/self/cwd/source/common/event/dispatcher_impl.cc:139:21 (ssl_integration_test+0x84a10bb)
2024-02-29T18:05:45.8920386Z #23 Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2::operator()() const /proc/self/cwd/source/common/event/dispatcher_impl.cc:76:30 (ssl_integration_test+0x84b0b56)
2024-02-29T18:05:45.8934182Z #24 decltype(static_cast<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2&>(fp)()) std::__1::__invoke<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2&) /opt/llvm/bin/../include/c++/v1/type_traits:3640:23 (ssl_integration_test+0x84b0ad5)
2024-02-29T18:05:45.8951037Z #25 void std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2&>(Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2&) /opt/llvm/bin/../include/c++/v1/__functional/invoke.h:61:9 (ssl_integration_test+0x84b0a4d)
2024-02-29T18:05:45.8964691Z #26 std::__1::__function::__alloc_func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:180:16 (ssl_integration_test+0x84b09fd)
2024-02-29T18:05:45.8978485Z #27 std::__1::__function::__func<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2, std::__1::allocator<Envoy::Event::DispatcherImpl::DispatcherImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Envoy::Thread::ThreadFactory&, Envoy::TimeSource&, Envoy::Random::RandomGenerator&, Envoy::Filesystem::Instance&, Envoy::Event::TimeSystem&, std::__1::function<std::__1::unique_ptr<Envoy::Event::ScaledRangeTimerManager, std::__1::default_delete<Envoy::Event::ScaledRangeTimerManager> > (Envoy::Event::Dispatcher&)> const&, std::__1::shared_ptr<Envoy::Buffer::WatermarkFactory> const&)::$_2>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:354:12 (ssl_integration_test+0x84af1b9)
2024-02-29T18:05:45.8986149Z #28 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:507:16 (ssl_integration_test+0x3452e11)
2024-02-29T18:05:45.8987933Z #29 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:1184:12 (ssl_integration_test+0x3452d35)
2024-02-29T18:05:45.8990484Z #30 Envoy::Event::SchedulableCallbackImpl::SchedulableCallbackImpl(Envoy::CSmartPtr<event_base, &(event_base_free)>&, std::__1::function<void ()>)::$_0::operator()(int, short, void*) const /proc/self/cwd/source/common/event/schedulable_cb_impl.cc:14:3 (ssl_integration_test+0x8b6e665)
@yanjunxiang-google @yanavlasov
I think this was fixed by https://github.com/envoyproxy/envoy/pull/32631, and a duplicate of https://github.com/envoyproxy/envoy/issues/32527.
I'm going to close for now; re-open if it turns out to not be a duplicate.
I'm seeing what I think is the same issue (full logs).
[ RUN ] IpVersions/SslIntegrationTest.LogPeerIpSanUnsupportedIpVersion/IPv4
==================
WARNING: ThreadSanitizer: data race (pid=16)
Write of size 1 at 0x00000bf8abe0 by main thread:
#0 Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1::operator()() const /proc/self/cwd/source/common/network/address_impl.cc:344:64 (ssl_integration_test+0x89f8360)
#1 decltype(static_cast<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(fp)()) std::__1::__invoke<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&) /opt/llvm/bin/../include/c++/v1/type_traits:3640:23 (ssl_integration_test+0x89f82f5)
#2 void std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&>(Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1&) /opt/llvm/bin/../include/c++/v1/__functional/invoke.h:61:9 (ssl_integration_test+0x89f826d)
#3 std::__1::__function::__alloc_func<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1, std::__1::allocator<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:180:16 (ssl_integration_test+0x89f821d)
#4 std::__1::__function::__func<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1, std::__1::allocator<Envoy::Network::Address::Ipv6Instance::forceProtocolUnsupportedForTest(bool)::$_1>, void ()>::operator()() /opt/llvm/bin/../include/c++/v1/__functional/function.h:354:12 (ssl_integration_test+0x89f69d9)
#5 std::__1::__function::__value_func<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:507:16 (ssl_integration_test+0x3400b91)
#6 std::__1::function<void ()>::operator()() const /opt/llvm/bin/../include/c++/v1/__functional/function.h:1184:12 (ssl_integration_test+0x3400ab5)
#7 Envoy::Cleanup::~Cleanup() /proc/self/cwd/./source/common/common/cleanup.h:14:16 (ssl_integration_test+0x332a4b9)
#8 Envoy::Ssl::SslIntegrationTest_LogPeerIpSanUnsupportedIpVersion_Test::TestBody() /proc/self/cwd/test/extensions/transport_sockets/tls/integration/ssl_integration_test.cc:504:1 (ssl_integration_test+0x32a8035)
and
Previous read of size 1 at 0x00000bf8abe0 by thread T339:
#0 Envoy::Network::Address::Ipv6Instance::validateProtocolSupported() /proc/self/cwd/source/common/network/address_impl.cc:349:21 (ssl_integration_test+0x89f11d3)
#1 Envoy::Network::Address::Ipv6Instance::Ipv6Instance(sockaddr_in6 const&, bool, Envoy::Network::SocketInterface const*) /proc/self/cwd/source/common/network/address_impl.cc:292:16 (ssl_integration_test+0x89f101f)
#2 Envoy::Extensions::TransportSockets::Tls::Utility::generalNameAsString(GENERAL_NAME_st const*) /proc/self/cwd/source/extensions/transport_sockets/tls/utility.cc:226:38 (ssl_integration_test+0x6e51a4d)
#3 Envoy::Extensions::TransportSockets::Tls::Utility::getSubjectAltNames(x509_st&, int, bool) /proc/self/cwd/source/extensions/transport_sockets/tls/utility.cc:182:63 (ssl_integration_test+0x6e500ce)
#4 Envoy::Extensions::TransportSockets::Tls::ConnectionInfoImplBase::ipSansPeerCertificate() const /proc/self/cwd/source/extensions/transport_sockets/tls/connection_info_impl_base.cc:188:37 (ssl_integration_test+0x6dc55ee)
#5 Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)::operator()(Envoy::Ssl::ConnectionInfo const&) const /proc/self/cwd/source/common/formatter/stream_info_formatter.cc:640:3 (ssl_integration_test+0x7b7d018)
#6 decltype(static_cast<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&>(fp)(static_cast<Envoy::Ssl::ConnectionInfo const&>(fp0))) std::__1::__invoke<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&>(Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/type_traits:3640:23 (ssl_integration_test+0x7b7cf85)
#7 std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > std::__1::__invoke_void_return_wrapper<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, false>::__call<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&>(Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)&, Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/invoke.h:30:16 (ssl_integration_test+0x7b7ce81)
#8 std::__1::__function::__alloc_func<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&), std::__1::allocator<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/function.h:180:16 (ssl_integration_test+0x7b7cdee)
#9 std::__1::__function::__func<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&), std::__1::allocator<Envoy::Formatter::getKnownStreamInfoFormatterProviders()::$_55::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<unsigned long>) const::'lambda'(Envoy::Ssl::ConnectionInfo const&)>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) /opt/llvm/bin/../include/c++/v1/__functional/function.h:354:12 (ssl_integration_test+0x7b7b58d)
#10 std::__1::__function::__value_func<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) const /opt/llvm/bin/../include/c++/v1/__functional/function.h:507:16 (ssl_integration_test+0x7c0c5a6)
#11 std::__1::function<std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > (Envoy::Ssl::ConnectionInfo const&)>::operator()(Envoy::Ssl::ConnectionInfo const&) const /opt/llvm/bin/../include/c++/v1/__functional/function.h:1184:12 (ssl_integration_test+0x7c0c489)
#12 Envoy::Formatter::StreamInfoSslConnectionInfoFormatterProvider::format(Envoy::StreamInfo::StreamInfo const&) const /proc/self/cwd/source/common/formatter/stream_info_formatter.cc:575:24 (ssl_integration_test+0x7c0d568)
Reopening.
I'm tempted to just disable these tests on TSAN builds; there's no chance of any non-test bug from this.
@ggreenway I don't have context on this bug, but if we are disabling a test for TSAN because it fails, even if it's just a test issue, won't there be a chance that the test issue could cause flakes in non-tsan builds?
I'm not sure if it could fail in theory or not. But I don't think it ever has. If it could fail, the tsan-fix probably wouldn't fix an actual test failure.
If you want to investigate, search for all uses of forceProtocolUnsupportedForTest; there aren't very many.
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.
Another occurrence of this tsan flakyness here.