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

Suspicious data race in DB::loadMetadata #9895

Open
JaySon-Huang opened this issue Feb 20, 2025 · 1 comment
Open

Suspicious data race in DB::loadMetadata #9895

JaySon-Huang opened this issue Feb 20, 2025 · 1 comment
Labels
component/storage type/bug The issue is confirmed as a bug.

Comments

@JaySon-Huang
Copy link
Contributor

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

3. What did you see instead (Required)

==================
WARNING: ThreadSanitizer: data race (pid=3338379)
  Write of size 8 at 0x7b2000480218 by thread T417:
    #0 operator delete(void*) /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:126 (tiflash+0x26fee20)
    #1 std::__1::promise<void>::~promise() ??:? (libc++.so.1+0x8d80d)
    #2 std::__1::__shared_count::__release_shared() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:177 (tiflash+0x28bb6fe)
    #3 std::__1::__shared_weak_count::__release_shared() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:219 (tiflash+0x28bb6fe)
    #4 ~shared_ptr /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:959 (tiflash+0x28bb6fe)
    #5 ~ /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28bb6fe)
    #6 ~__compressed_pair_elem /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/compressed_pair.h:35 (tiflash+0x28bb6fe)
    #7 std::__1::__function::__alloc_func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::destroy() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:190 (tiflash+0x28bb6fe)
    #8 std::__1::__function::__func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::destroy() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:327 (tiflash+0x28bb6fe)
    #9 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) ??:? (tiflash+0x282042a)
    #10 std::__1::function<void ()>::operator=(decltype(nullptr)) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1148 (tiflash+0x282042a)
    #11 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:311 (tiflash+0x282042a)
    #12 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x282360c)
    #13 decltype ((static_cast<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>({parm#1}))()) std::__1::__invoke_constexpr<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__
1::optional<unsigned long>, bool)::{lambda()#2}&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, (DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned lo
ng>, bool)::{lambda()#2}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3924 (tiflash+0x282360c)
    #14 decltype(auto) std::__1::__apply_tuple_impl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1:
:optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1536 (tiflash+0x282360c)
    #15 decltype(auto) std::__1::apply<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<uns
igned long>, bool)::{lambda()#2}&, std::__1::tuple<>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1545 (tiflash+0x282360c)
    #16 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:235 (tiflash+0x282360c)
    #17 _ZNSt3__18__invokeIRZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS1_14ThreadPoolImplIS3_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS8_DpOT0_EUlvE_JEEEDTclscS8_fp_spscSG_fp0_EESF_SI_ /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x282360c)
    #18 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::sc
heduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&>(DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::Th
readPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x282360c)
    #19 _ZNSt3__110__function12__alloc_funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x282360c)
    #20 _ZNSt3__110__function6__funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x282360c)
    #21 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x281dc3a)
    #22 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x281dc3a)
    #23 DB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x281dc3a)
    #24 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x28216c0)
    #25 decltype ((static_cast<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB
::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&, (DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include
/c++/v1/type_traits:3918 (tiflash+0x28216c0)
    #26 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__
1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:280 (tiflash+0x28216c0)
    #27 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::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__threa
d_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:291 (tiflash+0x28216c0)

  Previous atomic read of size 1 at 0x7b2000480218 by thread T403:
    #0 pthread_cond_wait /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1198 (tiflash+0x268a67a)
    #1 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) ??:? (libc++.so.1+0x89c0e)
    #2 DB::DatabaseTiFlash::loadTables(DB::Context&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Databases/DatabaseTiFlash.cpp:207 (tiflash+0xb4ba527)
    #3 DB::InterpreterCreateQuery::createDatabase(DB::ASTCreateQuery&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/InterpreterCreateQuery.cpp:170 (tiflash+0xb77a09f)
    #4 DB::InterpreterCreateQuery::execute() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/InterpreterCreateQuery.cpp:675 (tiflash+0xb78212b)
    #5 DB::executeCreateQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, 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&, DB::ThreadPoolImpl<DB::ThreadFromGlo
balPoolImpl<false> >*, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:62 (tiflash+0xbf1ae1a)
    #6 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:173 (tiflash+0xbf1b3e7)
    #7 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:199 (tiflash+0xbf1b3e7)
    #8 decltype ((static_cast<DB::loadMetadata(DB::Context&)::$_3&>({parm#1}))()) std::__1::__invoke<DB::loadMetadata(DB::Context&)::$_3&>(DB::loadMetadata(DB::Context&)::$_3&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0xbf1b3e7)
    #9 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::loadMetadata(DB::Context&)::$_3&>(DB::loadMetadata(DB::Context&)::$_3&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0xbf1b3e7)
    #10 std::__1::__function::__alloc_func<DB::loadMetadata(DB::Context&)::$_3, std::__1::allocator<DB::loadMetadata(DB::Context&)::$_3>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0xbf1b3e7)
    #11 std::__1::__function::__func<DB::loadMetadata(DB::Context&)::$_3, std::__1::allocator<DB::loadMetadata(DB::Context&)::$_3>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0xbf1b3e7)
    #12 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28bb414)
    #13 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28bb414)
    #14 decltype ((static_cast<std::__1::function<void ()>&>({parm#1}))()) std::__1::__invoke<std::__1::function<void ()>&>(std::__1::function<void ()>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb414)
    #15 std::__1::__packaged_task_func<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> >, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1687 (tiflash+0x28bb414)
    #16 std::__1::__packaged_task_function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1869 (tiflash+0x28bb8bd)
    #17 std::__1::packaged_task<void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:2089 (tiflash+0x28bb8bd)
    #18 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28bb7b3)
    #19 decltype ((static_cast<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::s
chedule(std::__1::function<void ()>)::{lambda()#1}&, (DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb7b3)
    #20 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../incl
ude/c++/v1/__functional/invoke.h:61 (tiflash+0x28bb7b3)
    #21 std::__1::__function::__alloc_func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x28bb7b3)
    #22 std::__1::__function::__func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x28bb7b3)
    #23 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28203f1)
    #24 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28203f1)
    #25 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x28203f1)
    #26 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x282360c)
    #27 decltype ((static_cast<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>({parm#1}))()) std::__1::__invoke_constexpr<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, (DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3924 (tiflash+0x282360c)
    #28 decltype(auto) std::__1::__apply_tuple_impl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1536 (tiflash+0x282360c)
    #29 decltype(auto) std::__1::apply<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1545 (tiflash+0x282360c)
    #30 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:235 (tiflash+0x282360c)
    #31 _ZNSt3__18__invokeIRZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS1_14ThreadPoolImplIS3_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS8_DpOT0_EUlvE_JEEEDTclscS8_fp_spscSG_fp0_EESF_SI_ /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x282360c)
    #32 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&>(DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x282360c)
    #33 _ZNSt3__110__function12__alloc_funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x282360c)
    #34 _ZNSt3__110__function6__funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x282360c)
    #35 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x281dc3a)
    #36 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x281dc3a)
    #37 DB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x281dc3a)
    #38 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x28216c0)
    #39 decltype ((static_cast<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&, (DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28216c0)
    #40 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:280 (tiflash+0x28216c0)
    #41 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::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:291 (tiflash+0x28216c0)

  Thread T417 'ThreadPool' (tid=3339254, running) created by thread T403 at:
    #0 pthread_create /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:977 (tiflash+0x2689b8d)
    #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__threading_support:514 (tiflash+0x28210c8)
    #2 thread<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42), void> /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:307 (tiflash+0x28210c8)
    #3 void DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281c16c)
    #4 DB::ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, long, unsigned long, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:198 (tiflash+0x2822dd4)
    #5 ThreadFromGlobalPoolImpl<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42)> /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:218 (tiflash+0x2822dd4)
    #6 void DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281e6fb)
    #7 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleOrThrowOnError(std::__1::function<void ()>, long) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:182 (tiflash+0x281e2f2)
    #8 DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28ba0ae)
    #9 DB::DatabaseTiFlash::loadTables(DB::Context&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Databases/DatabaseTiFlash.cpp:201 (tiflash+0xb4ba481)
    #10 DB::InterpreterCreateQuery::createDatabase(DB::ASTCreateQuery&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/InterpreterCreateQuery.cpp:170 (tiflash+0xb77a09f)
    #11 DB::InterpreterCreateQuery::execute() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/InterpreterCreateQuery.cpp:675 (tiflash+0xb78212b)
    #12 DB::executeCreateQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, 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&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:62 (tiflash+0xbf1ae1a)
    #13 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:173 (tiflash+0xbf1b3e7)
    #14 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:199 (tiflash+0xbf1b3e7)
    #15 decltype ((static_cast<DB::loadMetadata(DB::Context&)::$_3&>({parm#1}))()) std::__1::__invoke<DB::loadMetadata(DB::Context&)::$_3&>(DB::loadMetadata(DB::Context&)::$_3&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0xbf1b3e7)
    #16 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::loadMetadata(DB::Context&)::$_3&>(DB::loadMetadata(DB::Context&)::$_3&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0xbf1b3e7)
    #17 std::__1::__function::__alloc_func<DB::loadMetadata(DB::Context&)::$_3, std::__1::allocator<DB::loadMetadata(DB::Context&)::$_3>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0xbf1b3e7)
    #18 std::__1::__function::__func<DB::loadMetadata(DB::Context&)::$_3, std::__1::allocator<DB::loadMetadata(DB::Context&)::$_3>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0xbf1b3e7)
    #19 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28bb414)
    #20 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28bb414)
    #21 decltype ((static_cast<std::__1::function<void ()>&>({parm#1}))()) std::__1::__invoke<std::__1::function<void ()>&>(std::__1::function<void ()>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb414)
    #22 std::__1::__packaged_task_func<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> >, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1687 (tiflash+0x28bb414)
    #23 std::__1::__packaged_task_function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1869 (tiflash+0x28bb8bd)
    #24 std::__1::packaged_task<void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:2089 (tiflash+0x28bb8bd)
    #25 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28bb7b3)
    #26 decltype ((static_cast<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&, (DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb7b3)
    #27 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x28bb7b3)
    #28 std::__1::__function::__alloc_func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x28bb7b3)
    #29 std::__1::__function::__func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x28bb7b3)
    #30 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28203f1)
    #31 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28203f1)
    #32 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x28203f1)
    #33 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x282360c)
    #34 decltype ((static_cast<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>({parm#1}))()) std::__1::__invoke_constexpr<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, (DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3924 (tiflash+0x282360c)
    #35 decltype(auto) std::__1::__apply_tuple_impl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1536 (tiflash+0x282360c)
    #36 decltype(auto) std::__1::apply<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1545 (tiflash+0x282360c)
    #37 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:235 (tiflash+0x282360c)
    #38 _ZNSt3__18__invokeIRZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS1_14ThreadPoolImplIS3_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS8_DpOT0_EUlvE_JEEEDTclscS8_fp_spscSG_fp0_EESF_SI_ /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x282360c)
    #39 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&>(DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x282360c)
    #40 _ZNSt3__110__function12__alloc_funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x282360c)
    #41 _ZNSt3__110__function6__funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x282360c)
    #42 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x281dc3a)
    #43 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x281dc3a)
    #44 DB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x281dc3a)
    #45 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x28216c0)
    #46 decltype ((static_cast<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&, (DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28216c0)
    #47 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:280 (tiflash+0x28216c0)
    #48 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::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:291 (tiflash+0x28216c0)

  Thread T403 'ThreadPool' (tid=3339240, running) created by main thread at:
    #0 pthread_create /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:977 (tiflash+0x2689b8d)
    #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__threading_support:514 (tiflash+0x28210c8)
    #2 thread<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42), void> /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:307 (tiflash+0x28210c8)
    #3 void DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281c16c)
    #4 DB::ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, long, unsigned long, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:198 (tiflash+0x2822dd4)
    #5 ThreadFromGlobalPoolImpl<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42)> /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:218 (tiflash+0x2822dd4)
    #6 void DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281e6fb)
    #7 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleOrThrowOnError(std::__1::function<void ()>, long) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:182 (tiflash+0x281e2f2)
    #8 DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28ba0ae)
    #9 DB::loadMetadata(DB::Context&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:202 (tiflash+0xbf19f54)
    #10 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1507 (tiflash+0x27e9dd8)
    #11 Poco::Util::Application::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/Application.cpp:335 (tiflash+0xe0c6d1b)
    #12 Poco::Util::ServerApplication::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:94 (tiflash+0xe0e2269)
    #13 DB::Server::run() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:262 (tiflash+0x27e2e66)
    #14 Poco::Util::ServerApplication::run(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:618 (tiflash+0xe0e24c2)
    #15 mainEntryClickHouseServer(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1833 (tiflash+0x27efea9)
    #16 main /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/main.cpp:173 (tiflash+0x27005f7)

SUMMARY: ThreadSanitizer: data race /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:126 in operator delete(void*)
==================

4. What is your TiFlash version? (Required)

v7.5.4

@JaySon-Huang JaySon-Huang added the type/bug The issue is confirmed as a bug. label Feb 20, 2025
@JaySon-Huang
Copy link
Contributor Author

Another TSAN warning that also happen at to waitGroup->wait()

==================
WARNING: ThreadSanitizer: data race (pid=3367382)
  Write of size 8 at 0x7b20009cfa18 by thread T1101:
    #0 operator delete(void*) /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:126 (tiflash+0x26fee20)
    #1 std::__1::promise<void>::~promise() ??:? (libc++.so.1+0x8d80d)
    #2 std::__1::__shared_count::__release_shared() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:177 (tiflash+0x28bb6fe)
    #3 std::__1::__shared_weak_count::__release_shared() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:219 (tiflash+0x28bb6fe)
    #4 ~shared_ptr /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:959 (tiflash+0x28bb6fe)
    #5 ~ /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28bb6fe)
    #6 ~__compressed_pair_elem /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/compressed_pair.h:35 (tiflash+0x28bb6fe)
    #7 std::__1::__function::__alloc_func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::destroy() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:190 (tiflash+0x28bb6fe)
    #8 std::__1::__function::__func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::destroy() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:327 (tiflash+0x28bb6fe)
    #9 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) ??:? (tiflash+0x282042a)
    #10 std::__1::function<void ()>::operator=(decltype(nullptr)) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1148 (tiflash+0x282042a)
    #11 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:311 (tiflash+0x282042a)
    #12 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x282360c)
    #13 decltype ((static_cast<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>({parm#1}))()) std::__1::__invoke_constexpr<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, (DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3924 (tiflash+0x282360c)
    #14 decltype(auto) std::__1::__apply_tuple_impl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1536 (tiflash+0x282360c)
    #15 decltype(auto) std::__1::apply<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1545 (tiflash+0x282360c)
    #16 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:235 (tiflash+0x282360c)
    #17 _ZNSt3__18__invokeIRZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS1_14ThreadPoolImplIS3_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS8_DpOT0_EUlvE_JEEEDTclscS8_fp_spscSG_fp0_EESF_SI_ /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x282360c)
    #18 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&>(DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x282360c)
    #19 _ZNSt3__110__function12__alloc_funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x282360c)
    #20 _ZNSt3__110__function6__funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x282360c)
    #21 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x281dc3a)
    #22 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x281dc3a)
    #23 DB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x281dc3a)
    #24 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x28216c0)
    #25 decltype ((static_cast<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&, (DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28216c0)
    #26 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:280 (tiflash+0x28216c0)
    #27 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::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:291 (tiflash+0x28216c0)

  Previous atomic read of size 1 at 0x7b20009cfa18 by thread T861 (mutexes: write M1050318773221331824):
    #0 pthread_cond_wait /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1198 (tiflash+0x268a67a)
    #1 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) ??:? (libc++.so.1+0x89c0e)
    #2 DeltaMergeStore /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Storages/DeltaMerge/DeltaMergeStore.cpp:286 (tiflash+0xb01bb85)
    #3 DB::DM::DeltaMergeStore* std::__1::construct_at<DB::DM::DeltaMergeStore, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >, DB::DM::ColumnDefine, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&, DB::DM::DeltaMergeStore*>(DB::DM::DeltaMergeStore*, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool&&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >&&, DB::DM::ColumnDefine&&, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings&&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/construct_at.h:37 (tiflash+0xc1bbd81)
    #4 void std::__1::allocator_traits<std::__1::allocator<DB::DM::DeltaMergeStore> >::construct<DB::DM::DeltaMergeStore, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >, DB::DM::ColumnDefine, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&, void, void>(std::__1::allocator<DB::DM::DeltaMergeStore>&, DB::DM::DeltaMergeStore*, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool&&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >&&, DB::DM::ColumnDefine&&, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings&&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/allocator_traits.h:298 (tiflash+0xc1bbd81)
    #5 __shared_ptr_emplace<DB::Context &, const bool &, std::__1::string &, std::__1::string &, unsigned int &, long &, bool, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >, DB::DM::ColumnDefine, bool &, unsigned long &, DB::DM::DeltaMergeStore::Settings, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> > *&> /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:296 (tiflash+0xc1bbd81)
    #6 std::__1::shared_ptr<DB::DM::DeltaMergeStore> std::__1::allocate_shared<DB::DM::DeltaMergeStore, std::__1::allocator<DB::DM::DeltaMergeStore>, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsignedint&, long&, bool, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >, DB::DM::ColumnDefine, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&, void>(std::__1::allocator<DB::DM::DeltaMergeStore> const&, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool&&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >&&, DB::DM::ColumnDefine&&, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings&&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:1106 (tiflash+0xc1bbd81)
    #7 std::__1::shared_ptr<DB::DM::DeltaMergeStore> std::__1::make_shared<DB::DM::DeltaMergeStore, DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >, DB::DM::ColumnDefine, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&, void>(DB::Context&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int&, long&, bool&&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> >&&, DB::DM::ColumnDefine&&, bool&, unsigned long&, DB::DM::DeltaMergeStore::Settings&&, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__memory/shared_ptr.h:1115 (tiflash+0xc1bbd81)
    #8 DB::StorageDeltaMerge::getAndMaybeInitStore(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Storages/StorageDeltaMerge.cpp:1944 (tiflash+0xc1bbd81)
    #9 DB::StorageDeltaMerge::initStoreIfDataDirExist(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >*) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Storages/StorageDeltaMerge.cpp:1979 (tiflash+0xc1d3ac3)
    #10 operator()<std::__1::pair<unsigned int, long>, const std::__1::shared_ptr<DB::IManageableStorage>, DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> > > /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/BgStorageInit.cpp:56 (tiflash+0x28b622d)
    #11 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/BgStorageInit.cpp:78 (tiflash+0x28b622d)
    #12 decltype ((static_cast<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4&>({parm#1}))()) std::__1::__invoke<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4&>(DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28b622d)
    #13 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4&>(DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x28b622d)
    #14 std::__1::__function::__alloc_func<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4, std::__1::allocator<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x28b622d)
    #15 std::__1::__function::__func<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4, std::__1::allocator<DB::doInitStores(DB::Context&, std::__1::shared_ptr<DB::Logger> const&)::$_4>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x28b622d)
    #16 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28bb414)
    #17 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28bb414)
    #18 decltype ((static_cast<std::__1::function<void ()>&>({parm#1}))()) std::__1::__invoke<std::__1::function<void ()>&>(std::__1::function<void ()>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb414)
    #19 std::__1::__packaged_task_func<std::__1::function<void ()>, std::__1::allocator<std::__1::function<void ()> >, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1687 (tiflash+0x28bb414)
    #20 std::__1::__packaged_task_function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:1869 (tiflash+0x28bb8bd)
    #21 std::__1::packaged_task<void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/future:2089 (tiflash+0x28bb8bd)
    #22 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28bb7b3)
    #23 decltype ((static_cast<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&, (DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28bb7b3)
    #24 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&>(DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x28bb7b3)
    #25 std::__1::__function::__alloc_func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x28bb7b3)
    #26 std::__1::__function::__func<DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>)::{lambda()#1}, std::__1::allocator<{lambda()#1}>, void ()>::operator()() /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x28bb7b3)
    #27 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x28203f1)
    #28 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x28203f1)
    #29 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x28203f1)
    #30 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x282360c)
    #31 decltype ((static_cast<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>({parm#1}))()) std::__1::__invoke_constexpr<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, (DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3924 (tiflash+0x282360c)
    #32 decltype(auto) std::__1::__apply_tuple_impl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1536 (tiflash+0x282360c)
    #33 decltype(auto) std::__1::apply<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&, std::__1::tuple<>&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/tuple:1545 (tiflash+0x282360c)
    #34 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:235 (tiflash+0x282360c)
    #35 _ZNSt3__18__invokeIRZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS1_14ThreadPoolImplIS3_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS8_DpOT0_EUlvE_JEEEDTclscS8_fp_spscSG_fp0_EESF_SI_ /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x282360c)
    #36 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&>(DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)::{lambda()#1}&) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/invoke.h:61 (tiflash+0x282360c)
    #37 _ZNSt3__110__function12__alloc_funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:171 (tiflash+0x282360c)
    #38 _ZNSt3__110__function6__funcIZN2DB24ThreadFromGlobalPoolImplILb0EEC1IZNS2_14ThreadPoolImplIS4_E12scheduleImplIvEET_NS_8functionIFvvEEElNS_8optionalImEEbEUlvE0_JEEEOS9_DpOT0_EUlvE_NS_9allocatorISK_EESB_EclEv /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:345 (tiflash+0x282360c)
    #39 std::__1::__function::__value_func<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:498 (tiflash+0x281dc3a)
    #40 std::__1::function<void ()>::operator()() const /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__functional/function.h:1175 (tiflash+0x281dc3a)
    #41 DB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:306 (tiflash+0x281dc3a)
    #42 operator() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x28216c0)
    #43 decltype ((static_cast<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>({parm#1}))()) std::__1::__invoke<DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&, (DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&)...) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/type_traits:3918 (tiflash+0x28216c0)
    #44 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:280 (tiflash+0x28216c0)
    #45 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::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::{lambda()#2}>) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:291 (tiflash+0x28216c0)

  Mutex M1050318773221331824 is already destroyed.

  Thread T1101 'ThreadPool' (tid=3368682, running) created by main thread at:
    #0 pthread_create /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:977 (tiflash+0x2689b8d)
    #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__threading_support:514 (tiflash+0x28210c8)
    #2 thread<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42), void> /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:307 (tiflash+0x28210c8)
    #3 void DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281c16c)
    #4 DB::ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, long, unsigned long, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:198 (tiflash+0x2822dd4)
    #5 ThreadFromGlobalPoolImpl<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42)> /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:218 (tiflash+0x2822dd4)
    #6 void DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281e6fb)
    #7 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleOrThrowOnError(std::__1::function<void ()>, long) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:182 (tiflash+0x281e2f2)
    #8 DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28ba0ae)
    #9 DB::loadMetadata(DB::Context&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:202 (tiflash+0xbf19f54)
    #10 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1507 (tiflash+0x27e9dd8)
    #11 Poco::Util::Application::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/Application.cpp:335 (tiflash+0xe0c6d1b)
    #12 Poco::Util::ServerApplication::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:94 (tiflash+0xe0e2269)
    #13 DB::Server::run() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:262 (tiflash+0x27e2e66)
    #14 Poco::Util::ServerApplication::run(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:618 (tiflash+0xe0e24c2)
    #15 mainEntryClickHouseServer(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1833 (tiflash+0x27efea9)
    #16 main /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/main.cpp:173 (tiflash+0x27005f7)

  Thread T861 'ThreadPool' (tid=3368397, running) created by main thread at:
    #0 pthread_create /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:977 (tiflash+0x2689b8d)
    #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/__threading_support:514 (tiflash+0x28210c8)
    #2 thread<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42), void> /DATA/disk1/ra_common/tiflash-env-13/sysroot/bin/../include/c++/v1/thread:307 (tiflash+0x28210c8)
    #3 void DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281c16c)
    #4 DB::ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, long, unsigned long, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:198 (tiflash+0x2822dd4)
    #5 ThreadFromGlobalPoolImpl<(lambda at /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160:42)> /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:218 (tiflash+0x2822dd4)
    #6 void DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:160 (tiflash+0x281e6fb)
    #7 DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false> >::scheduleOrThrowOnError(std::__1::function<void ()>, long) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.cpp:182 (tiflash+0x281e2f2)
    #8 DB::ThreadPoolWaitGroup<DB::ThreadFromGlobalPoolImpl<false> >::schedule(std::__1::function<void ()>) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Common/UniThreadPool.h:327 (tiflash+0x28ba0ae)
    #9 DB::loadMetadata(DB::Context&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Interpreters/loadMetadata.cpp:202 (tiflash+0xbf19f54)
    #10 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1507 (tiflash+0x27e9dd8)
    #11 Poco::Util::Application::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/Application.cpp:335 (tiflash+0xe0c6d1b)
    #12 Poco::Util::ServerApplication::run() /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:94 (tiflash+0xe0e2269)
    #13 DB::Server::run() /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:262 (tiflash+0x27e2e66)
    #14 Poco::Util::ServerApplication::run(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/contrib/poco/Util/src/ServerApplication.cpp:618 (tiflash+0xe0e24c2)
    #15 mainEntryClickHouseServer(int, char**) /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/Server.cpp:1833 (tiflash+0x27efea9)
    #16 main /DATA/disk1/jaysonhuang/tiflash-2/dbms/src/Server/main.cpp:173 (tiflash+0x27005f7)

SUMMARY: ThreadSanitizer: data race /root/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp:126 in operator delete(void*)
==================

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/storage type/bug The issue is confirmed as a bug.
Projects
None yet
Development

No branches or pull requests

2 participants