envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.26k stars 4.68k forks source link

Fix opentracing tests to be typesafe #34321

Open alyssawilk opened 1 month ago

alyssawilk commented 1 month ago

see CI failures on the first push of https://github.com/envoyproxy/envoy/pull/34306

[ RUN ] DynamicOtTracerConfigTest.DynamicOpentracingHttpTracer source/extensions/tracers/dynamic_ot/dynamic_opentracing_driver_impl.cc:22:40: runtime error: member call on address 0x6020000cb790 which does not point to an object of type 'opentracing::TracerFactory' 0x6020000cb790: note: object is of type 'opentracing::v2::mocktracer::MockTracerFactory' 00 00 00 00 f0 91 cb bf c6 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^~~~~~~ vptr for 'opentracing::v2::mocktracer::MockTracerFactory'

0 0x35511c5 in Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver::DynamicOpenTracingDriver(Envoy::Stats::Scope&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&) /proc/self/cwd/source/extensions/tracers/dynamic_ot/dynamic_opentracing_driver_impl.cc:22:40

#1 0x351b983 in Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver* std::__1::construct_at<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver, Envoy::Stats::Scope&, 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&, Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver*>(Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver*, Envoy::Stats::Scope&, 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&) /opt/llvm/bin/../include/c++/v1/__memory/construct_at.h:38:50
#2 0x351b61c in void std::__1::allocator_traits<std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver> >::construct<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver, Envoy::Stats::Scope&, 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&, void, void>(std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver>&, Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver*, Envoy::Stats::Scope&, 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&) /opt/llvm/bin/../include/c++/v1/__memory/allocator_traits.h:298:9
#3 0x351b364 in std::__1::__shared_ptr_emplace<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver, std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver> >::__shared_ptr_emplace<Envoy::Stats::Scope&, 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&>(std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver>, Envoy::Stats::Scope&, 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&) /opt/llvm/bin/../include/c++/v1/__memory/shared_ptr.h:293:9
#4 0x351ae01 in std::__1::shared_ptr<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver> std::__1::allocate_shared<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver, std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver>, Envoy::Stats::Scope&, 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&, void>(std::__1::allocator<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver> const&, Envoy::Stats::Scope&, 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&) /opt/llvm/bin/../include/c++/v1/__memory/shared_ptr.h:954:55
#5 0x35161eb in std::__1::shared_ptr<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver> std::__1::make_shared<Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingDriver, Envoy::Stats::Scope&, 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&, void>(Envoy::Stats::Scope&, 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&) /opt/llvm/bin/../include/c++/v1/__memory/shared_ptr.h:963:12
#6 0x3513e96 in Envoy::Extensions::Tracers::DynamicOt::DynamicOpenTracingTracerFactory::createTracerDriverTyped(envoy::config::trace::v3::DynamicOtConfig const&, Envoy::Server::Configuration::TracerFactoryContext&) /proc/self/cwd/source/extensions/tracers/dynamic_ot/config.cc:26:10
#7 0x3485e86 in Envoy::Extensions::Tracers::Common::FactoryBase<envoy::config::trace::v3::DynamicOtConfig>::createTracerDriver(google::protobuf::Message const&, Envoy::Server::Configuration::TracerFactoryContext&) /proc/self/cwd/./source/extensions/tracers/common/factory_base.h:20:12
#8 0x347188e in Envoy::Extensions::Tracers::DynamicOt::(anonymous namespace)::DynamicOtTracerConfigTest_DynamicOpentracingHttpTracer_Test::TestBody() /proc/self/cwd/test/extensions/tracers/dynamic_ot/config_test.cc:52:25
#9 0xa6fdc74 in 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:2580:10
#10 0xa6c4d12 in testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2655:5
#11 0xa6c6887 in testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2832:11
#12 0xa6c8c24 in testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2986:28
#13 0xa6eafea in testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5697:44
#14 0xa701f83 in 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:2580:10
#15 0xa6e9cf6 in testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5280:10
#16 0x72505be in Envoy::TestRunner::runTests(int, char**) /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2485:46
#17 0x724c3c6 in main /proc/self/cwd/test/main.cc:34:10
#18 0x7fc6c2aac082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: eebe5d5f4b608b8a53ec446b63981bba373ca0ca)
#19 0x33b32ad in _start (/b/f/w/bazel-out/k8-dbg/bin/test/extensions/tracers/dynamic_ot/config_test.runfiles/envoy/test/extensions/tracers/dynamic_ot/config_test+0x33b32ad)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior source/extensions/tracers/dynamic_ot/dynamic_opentracing_driver_impl.cc:22:40 in

zirain commented 1 month ago

opentracking is deprecated for a long time, consider remove it?

github-actions[bot] commented 1 week ago

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.

alyssawilk commented 6 days ago

cc @Shikugawa @basvanbeek thoughts of bumping this to contrib?

basvanbeek commented 2 days ago

makes sense to me