Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zpages tests failing on tsan - Removed from tsan CI. #2271

Closed
lalitb opened this issue Aug 21, 2023 · 3 comments
Closed

zpages tests failing on tsan - Removed from tsan CI. #2271

lalitb opened this issue Aug 21, 2023 · 3 comments
Labels
bug Something isn't working good first issue Good for newcomers help wanted Good for taking. Extra help will be provided by maintainers priority:p2 Issues that are not blocking Stale

Comments

@lalitb
Copy link
Member

lalitb commented Aug 21, 2023

These are failing after upgrde of tsan CI runner to ubuntu-latest. As of now, these tests are disabled in tsan CI (#2267) as zpages would be deprecated soon (#2217). This issue is to track the error, and potentially add the tests back to CI after fixing. Logs are attached:

test.log

WARNING: ThreadSanitizer: double lock of a mutex (pid=12)
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240 (libtsan.so.0+0x53908)
    #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (tracez_data_aggregator_tests+0xb4cd8)
    #2 std::mutex::lock() <null> (tracez_data_aggregator_tests+0xb4e2c)
    #3 std::unique_lock<std::mutex>::lock() <null> (libext_Ssrc_Szpages_Slibzpages.so+0x146363)
    #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (libext_Ssrc_Szpages_Slibzpages.so+0x13fec8)
    #5 opentelemetry::v1::ext::zpages::TracezDataAggregator::GetAggregatedTracezData[abi:cxx11]() <null> (libext_Ssrc_Szpages_Slibzpages.so+0x1380ad)
    #6 TracezDataAggregatorTest_SingleRunningSpan_Test::TestBody() <null> (tracez_data_aggregator_tests+0xa5f93)
    #7 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x14ffdf)
    #8 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x1471f4)
    #9 testing::Test::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x121031)
    #10 testing::TestInfo::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x121e23)
    #11 testing::TestSuite::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x122aed)
    #12 testing::internal::UnitTestImpl::RunAllTests() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x135183)
    #13 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x151c9d)
    #14 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x148c8e)
    #15 testing::UnitTest::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x133127)
    #16 RUN_ALL_TESTS() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest_Umain.so+0xe55)
    #17 main <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest_Umain.so+0xd49)

  Location is heap block of size 168 at 0x7b2c00000000 allocated by main thread:
    #0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f162)
    #1 TracezDataAggregatorTest::SetUp() <null> (tracez_data_aggregator_tests+0xbab0b)
    #2 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x14ffdf)
    #3 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x1471f4)
    #4 testing::Test::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x120f99)
    #5 testing::TestInfo::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x121e23)
    #6 testing::TestSuite::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x122aed)
    #7 testing::internal::UnitTestImpl::RunAllTests() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x135183)
    #8 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x151c9d)
    #9 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x148c8e)
    #10 testing::UnitTest::Run() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest.so+0x133127)
    #11 RUN_ALL_TESTS() <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest_Umain.so+0xe55)
    #12 main <null> (libexternal_Scom_Ugoogle_Ugoogletest_Slibgtest_Umain.so+0xd49)

  Mutex M89 (0x7b2c00000040) created at:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240 (libtsan.so.0+0x53908)
    #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (tracez_data_aggregator_tests+0xb4cd8)
    #2 std::mutex::lock() <null> (tracez_data_aggregator_tests+0xb4e2c)
    #3 std::unique_lock<std::mutex>::lock() <null> (libext_Ssrc_Szpages_Slibzpages.so+0x146363)
    #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (libext_Ssrc_Szpages_Slibzpages.so+0x13fec8)
    #5 opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}::operator()() const <null> (libext_Ssrc_Szpages_Slibzpages.so+0x137d84)
    #6 void std::__invoke_impl<void, opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}>(std::__invoke_other, opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}&&) <null> (libext_Ssrc_Szpages_Slibzpages.so+0x139384)
    #7 std::__invoke_result<opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}>::type std::__invoke<opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}>(opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}&&) <null> (libext_Ssrc_Szpages_Slibzpages.so+0x1392fb)
    #8 void std::thread::_Invoker<std::tuple<opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (libext_Ssrc_Szpages_Slibzpages.so+0x13925c)
    #9 std::thread::_Invoker<std::tuple<opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}> >::operator()() <null> (libext_Ssrc_Szpages_Slibzpages.so+0x139202)
    #10 std::thread::_State_impl<std::thread::_Invoker<std::tuple<opentelemetry::v1::ext::zpages::TracezDataAggregator::TracezDataAggregator(std::shared_ptr<opentelemetry::v1::ext::zpages::TracezSharedData>, std::chrono::duration<long, std::ratio<1l, 1000l> >)::{lambda()#1}> > >::_M_run() <null> (libext_Ssrc_Szpages_Slibzpages.so+0x1391b8)
    #11 <null> <null> (libstdc++.so.6+0xdc252)

SUMMARY: ThreadSanitizer: double lock of a mutex (/home/labhas/.cache/bazel/0e07fed36f61d96b2b01756c95aef7a8/execroot/io_opentelemetry_cpp/bazel-out/k8-tsan-fastbuild/bin/ext/test/zpages/tracez_data_aggregator_tests+0xb4cd8) in __gthread_mutex_lock(pthread_mutex_t*)

@lalitb lalitb added the bug Something isn't working label Aug 21, 2023
@github-actions github-actions bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Aug 21, 2023
@lalitb lalitb added priority:p2 Issues that are not blocking help wanted Good for taking. Extra help will be provided by maintainers good first issue Good for newcomers and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Aug 21, 2023
@github-actions
Copy link

This issue is available for anyone to work on. Make sure to reference this issue in your pull request.
✨ Thank you for your contribution! ✨

@github-actions
Copy link

This issue was marked as stale due to lack of activity.

@github-actions github-actions bot added the Stale label Oct 22, 2023
@marcalff
Copy link
Member

marcalff commented Dec 5, 2023

Closing, as zpages is removed, see #2292

@marcalff marcalff closed this as not planned Won't fix, can't repro, duplicate, stale Dec 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers help wanted Good for taking. Extra help will be provided by maintainers priority:p2 Issues that are not blocking Stale
Projects
None yet
Development

No branches or pull requests

2 participants