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

Tsan fail because of MockLocalAdmissionController #7965

Closed
SeaRise opened this issue Aug 18, 2023 · 0 comments · Fixed by #7966
Closed

Tsan fail because of MockLocalAdmissionController #7965

SeaRise opened this issue Aug 18, 2023 · 0 comments · Fixed by #7966
Labels
severity/moderate type/bug The issue is confirmed as a bug.

Comments

@SeaRise
Copy link
Contributor

SeaRise commented Aug 18, 2023

  • TestResourceControlQueue.BasicTest
[2023-08-17T18:28:20.900Z] WARNING: ThreadSanitizer: data race (pid=55449)
[2023-08-17T18:28:20.900Z]   Read of size 8 at 0x7b3c000aada0 by thread T82:
[2023-08-17T18:28:20.900Z]     #0 std::__1::__function::__value_func<void ()>::operator bool() const /usr/local/bin/../include/c++/v1/__functional/function.h:540:55 (gtests_dbms+0xe2bb70a)
[2023-08-17T18:28:20.900Z]     #1 std::__1::function<void ()>::operator bool() const /usr/local/bin/../include/c++/v1/__functional/function.h:1027:32 (gtests_dbms+0xe2bb70a)
[2023-08-17T18:28:20.900Z]     #2 DB::MockLocalAdmissionController::refillTokenBucket() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/ResourceControl/MockLocalAdmissionController.cpp:41:13 (gtests_dbms+0xe2bb70a)
[2023-08-17T18:28:20.900Z]     #3 DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()::operator()() const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/ResourceControl/MockLocalAdmissionController.h:45:51 (gtests_dbms+0x2d4d5e0)
[2023-08-17T18:28:20.900Z]     #4 decltype(static_cast<DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()>(fp)()) std::__1::__invoke<DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()>(DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()&&) /usr/local/bin/../include/c++/v1/type_traits:3918:1 (gtests_dbms+0x2d4d5e0)
[2023-08-17T18:28:20.900Z]     #5 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()>&, std::__1::__tuple_indices<>) /usr/local/bin/../include/c++/v1/thread:280:5 (gtests_dbms+0x2d4d5e0)
[2023-08-17T18:28:20.900Z]     #6 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()> >(void*) /usr/local/bin/../include/c++/v1/thread:291:5 (gtests_dbms+0x2d4d5e0)
[2023-08-17T18:28:20.900Z] 
[2023-08-17T18:28:20.900Z]   Previous write of size 8 at 0x7b3c000aada0 by main thread:
[2023-08-17T18:28:20.900Z]     #0 std::__1::__function::__value_func<void ()>::swap(std::__1::__function::__value_func<void ()>&) /usr/local/bin/../include/c++/v1/__functional/function.h (gtests_dbms+0x2d4fb48)
[2023-08-17T18:28:20.900Z]     #1 std::__1::function<void ()>::swap(std::__1::function<void ()>&) /usr/local/bin/../include/c++/v1/__functional/function.h:1168:10 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #2 std::__1::function<void ()>::operator=(std::__1::function<void ()> const&) /usr/local/bin/../include/c++/v1/__functional/function.h:1132:19 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #3 DB::MockLocalAdmissionController::registerRefillTokenCallback(std::__1::function<void ()> const&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/ResourceControl/MockLocalAdmissionController.h:63:96 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #4 DB::ResourceControlQueue<DB::MultiLevelFeedbackQueue<DB::CPUTimeGetter> >::ResourceControlQueue() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/ResourceControlQueue.h:34:52 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #5 std::__1::__unique_if<DB::ResourceControlQueue<DB::MultiLevelFeedbackQueue<DB::CPUTimeGetter> > >::__unique_single std::__1::make_unique<DB::ResourceControlQueue<DB::MultiLevelFeedbackQueue<DB::CPUTimeGetter> > >() /usr/local/bin/../include/c++/v1/__memory/unique_ptr.h:728:32 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #6 DB::CPUImpl::newTaskQueue(DB::TaskQueueType) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/ThreadPool/TaskThreadPoolImpl.cpp:32:16 (gtests_dbms+0xe156a09)
[2023-08-17T18:28:20.900Z]     #7 DB::TaskThreadPool<DB::CPUImpl>::TaskThreadPool(DB::TaskScheduler&, DB::ThreadPoolConfig const&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/ThreadPool/TaskThreadPool.cpp:31:18 (gtests_dbms+0xe15276d)
[2023-08-17T18:28:20.900Z]     #8 DB::TaskScheduler::TaskScheduler(DB::TaskSchedulerConfig const&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskScheduler.cpp:26:7 (gtests_dbms+0xe120ab7)
[2023-08-17T18:28:20.900Z]     #9 DB::tests::TestResourceControlQueue_BasicTest_Test::TestBody() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/tests/gtest_resource_control_queue.cpp:373:19 (gtests_dbms+0x2d3d0a5)
[2023-08-17T18:28:20.900Z]     #10 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.900Z]     #11 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.900Z]     #12 testing::Test::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2517:5 (gtests_dbms+0xb996f45)
[2023-08-17T18:28:20.900Z]     #13 testing::TestInfo::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2693:11 (gtests_dbms+0xb998774)
[2023-08-17T18:28:20.900Z]     #14 testing::TestCase::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2811:28 (gtests_dbms+0xb99943d)
[2023-08-17T18:28:20.900Z]     #15 testing::internal::UnitTestImpl::RunAllTests() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:5177:43 (gtests_dbms+0xb9a95f0)
[2023-08-17T18:28:20.900Z]     #16 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.900Z]     #17 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.900Z]     #18 testing::UnitTest::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:4786:10 (gtests_dbms+0xb9a88d8)
[2023-08-17T18:28:20.900Z]     #19 RUN_ALL_TESTS() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/include/gtest/gtest.h:2341:46 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.900Z]     #20 main /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/TestUtils/gtests_dbms_main.cpp:117:16 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.900Z] 
[2023-08-17T18:28:20.900Z]   Location is heap block of size 240 at 0x7b3c000aacd0 allocated by main thread:
[2023-08-17T18:28:20.900Z]     #0 operator new(unsigned long) /llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:64:3 (gtests_dbms+0x2912d58)
[2023-08-17T18:28:20.900Z]     #1 std::__1::__unique_if<DB::MockLocalAdmissionController>::__unique_single std::__1::make_unique<DB::MockLocalAdmissionController>() /usr/local/bin/../include/c++/v1/__memory/unique_ptr.h:728:28 (gtests_dbms+0x2d3c602)
[2023-08-17T18:28:20.901Z]     #2 DB::tests::setupNopLAC() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/tests/gtest_resource_control_queue.cpp:115:49 (gtests_dbms+0x2d3c602)
[2023-08-17T18:28:20.901Z]     #3 DB::tests::TestResourceControlQueue_BasicTest_Test::TestBody() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/tests/gtest_resource_control_queue.cpp:366:5 (gtests_dbms+0x2d3d068)
[2023-08-17T18:28:20.901Z]     #4 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.901Z]     #5 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.901Z]     #6 testing::Test::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2517:5 (gtests_dbms+0xb996f45)
[2023-08-17T18:28:20.901Z]     #7 testing::TestInfo::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2693:11 (gtests_dbms+0xb998774)
[2023-08-17T18:28:20.901Z]     #8 testing::TestCase::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2811:28 (gtests_dbms+0xb99943d)
[2023-08-17T18:28:20.901Z]     #9 testing::internal::UnitTestImpl::RunAllTests() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:5177:43 (gtests_dbms+0xb9a95f0)
[2023-08-17T18:28:20.901Z]     #10 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.901Z]     #11 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.901Z]     #12 testing::UnitTest::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:4786:10 (gtests_dbms+0xb9a88d8)
[2023-08-17T18:28:20.901Z]     #13 RUN_ALL_TESTS() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/include/gtest/gtest.h:2341:46 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.901Z]     #14 main /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/TestUtils/gtests_dbms_main.cpp:117:16 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.901Z] 
[2023-08-17T18:28:20.901Z]   Thread T82 (tid=55589, running) created by main thread at:
[2023-08-17T18:28:20.901Z]     #0 pthread_create /llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:977:3 (gtests_dbms+0x289e17d)
[2023-08-17T18:28:20.901Z]     #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/local/bin/../include/c++/v1/__threading_support:514:10 (gtests_dbms+0x2d4d51e)
[2023-08-17T18:28:20.901Z]     #2 std::__1::thread::thread<DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'(), void>(DB::MockLocalAdmissionController::MockLocalAdmissionController()::'lambda'()&&) /usr/local/bin/../include/c++/v1/thread:307:16 (gtests_dbms+0x2d4d51e)
[2023-08-17T18:28:20.901Z]     #3 DB::MockLocalAdmissionController::MockLocalAdmissionController() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/ResourceControl/MockLocalAdmissionController.h:45:31 (gtests_dbms+0x2d4d3df)
[2023-08-17T18:28:20.901Z]     #4 std::__1::__unique_if<DB::MockLocalAdmissionController>::__unique_single std::__1::make_unique<DB::MockLocalAdmissionController>() /usr/local/bin/../include/c++/v1/__memory/unique_ptr.h:728:32 (gtests_dbms+0x2d3c60d)
[2023-08-17T18:28:20.901Z]     #5 DB::tests::setupNopLAC() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/tests/gtest_resource_control_queue.cpp:115:49 (gtests_dbms+0x2d3c60d)
[2023-08-17T18:28:20.901Z]     #6 DB::tests::TestResourceControlQueue_BasicTest_Test::TestBody() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Flash/Pipeline/Schedule/TaskQueues/tests/gtest_resource_control_queue.cpp:366:5 (gtests_dbms+0x2d3d068)
[2023-08-17T18:28:20.901Z]     #7 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.901Z]     #8 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9bd3a5)
[2023-08-17T18:28:20.901Z]     #9 testing::Test::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2517:5 (gtests_dbms+0xb996f45)
[2023-08-17T18:28:20.901Z]     #10 testing::TestInfo::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2693:11 (gtests_dbms+0xb998774)
[2023-08-17T18:28:20.901Z]     #11 testing::TestCase::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2811:28 (gtests_dbms+0xb99943d)
[2023-08-17T18:28:20.901Z]     #12 testing::internal::UnitTestImpl::RunAllTests() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:5177:43 (gtests_dbms+0xb9a95f0)
[2023-08-17T18:28:20.901Z]     #13 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2443:10 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.901Z]     #14 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2479:14 (gtests_dbms+0xb9be845)
[2023-08-17T18:28:20.901Z]     #15 testing::UnitTest::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:4786:10 (gtests_dbms+0xb9a88d8)
[2023-08-17T18:28:20.901Z]     #16 RUN_ALL_TESTS() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/include/gtest/gtest.h:2341:46 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.901Z]     #17 main /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/TestUtils/gtests_dbms_main.cpp:117:16 (gtests_dbms+0x5bc687e)
[2023-08-17T18:28:20.901Z] 
[2023-08-17T18:28:20.901Z] SUMMARY: ThreadSanitizer: data race /usr/local/bin/../include/c++/v1/__functional/function.h:540:55 in std::__1::__function::__value_func<void ()>::operator bool() const
[2023-08-17T18:28:20.901Z] ==================
  • etc
@SeaRise SeaRise added type/bug The issue is confirmed as a bug. severity/moderate labels Aug 18, 2023
@SeaRise SeaRise assigned guo-shaoge and unassigned guo-shaoge Aug 18, 2023
ti-chi-bot bot pushed a commit that referenced this issue Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
severity/moderate type/bug The issue is confirmed as a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants