Guest User

Untitled

a guest
Aug 13th, 2021
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.06 KB | None | 0 0
  1. WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=11)
  2. Cycle in lock order graph: M3267 (0x7b90000000d0) => M2855 (0x7b9000000008) => M3262 (0x7b5800001618) => M3267
  3.  
  4. Mutex M2855 acquired here while holding mutex M3267 in thread T3:
  5. #0 pthread_mutex_lock <null> (clickhouse+0x9697cf6)
  6. #1 std::__1::__libcpp_recursive_mutex_lock(pthread_mutex_t*) obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:385:10 (clickhouse+0x1b3445b9)
  7. #2 std::__1::recursive_mutex::lock() obj-x86_64-linux-gnu/../contrib/libcxx/src/mutex.cpp:71:14 (clickhouse+0x1b3445b9)
  8. #3 std::__1::unique_lock<std::__1::recursive_mutex>::unique_lock(std::__1::recursive_mutex&) obj-x86_64-linux-gnu/../contrib/libcxx/include/__mutex_base:119:61 (clickhouse+0x1400d904)
  9. #4 DB::Context::getLock() const obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:597:12 (clickhouse+0x1400d904)
  10. #5 DB::Context::getConfigRef() const obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:746:17 (clickhouse+0x1400d904)
  11. #6 DB::Context::getZooKeeper() const obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1793:82 (clickhouse+0x1401a60a)
  12. #7 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&)::$_2::operator()() const obj-x86_64-linux-gnu/../programs/server/Server.cpp:898:98 (clickhouse+0x97249d5)
  13. #8 decltype(std::__1::forward<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&)::$_2&>(fp)()) std::__1::__invoke<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&)::$_2&>(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&)::$_2&) obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3676:1 (clickhouse+0x97249d5)
  14. #9 std::__1::shared_ptr<zkutil::ZooKeeper> std::__1::__invoke_void_return_wrapper<std::__1::shared_ptr<zkutil::ZooKeeper> >::__call<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&)::$_2&>(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&)::$_2&) obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:317:16 (clickhouse+0x97249d5)
  15. #10 std::__1::__function::__default_alloc_func<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&)::$_2, std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1608:12 (clickhouse+0x97249d5)
  16. #11 std::__1::shared_ptr<zkutil::ZooKeeper> std::__1::__function::__policy_invoker<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::__call_impl<std::__1::__function::__default_alloc_func<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&)::$_2, std::__1::shared_ptr<zkutil::ZooKeeper> ()> >(std::__1::__function::__policy_storage const*) obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2089:16 (clickhouse+0x97249d5)
  17. #12 std::__1::__function::__policy_func<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2221:16 (clickhouse+0x13b230cb)
  18. #13 std::__1::function<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2560:12 (clickhouse+0x13b230cb)
  19. #14 DB::ReplicatedAccessStorage::initializeMainThread() obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:352:22 (clickhouse+0x13b230cb)
  20. #15 DB::ReplicatedAccessStorage::runMainThread() obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:321:17 (clickhouse+0x13b1c451)
  21. #16 decltype(*(std::__1::forward<DB::ReplicatedAccessStorage*&>(fp0)).*fp()) std::__1::__invoke_constexpr<void (DB::ReplicatedAccessStorage::*&)(), DB::ReplicatedAccessStorage*&, void>(void (DB::ReplicatedAccessStorage::*&)(), DB::ReplicatedAccessStorage*&) obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3624:1 (clickhouse+0x13b29390)
  22. #17 decltype(auto) std::__1::__apply_tuple_impl<void (DB::ReplicatedAccessStorage::*&)(), std::__1::tuple<DB::ReplicatedAccessStorage*>&, 0ul>(void (DB::ReplicatedAccessStorage::*&)(), std::__1::tuple<DB::ReplicatedAccessStorage*>&, std::__1::__tuple_indices<0ul>) obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415:1 (clickhouse+0x13b29390)
  23. #18 decltype(auto) std::__1::apply<void (DB::ReplicatedAccessStorage::*&)(), std::__1::tuple<DB::ReplicatedAccessStorage*>&>(void (DB::ReplicatedAccessStorage::*&)(), std::__1::tuple<DB::ReplicatedAccessStorage*>&) obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424:1 (clickhouse+0x13b29390)
  24. #19 ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&)::'lambda'()::operator()() obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:182:13 (clickhouse+0x13b29390)
  25. #20 decltype(std::__1::forward<void (DB::ReplicatedAccessStorage::*)()>(fp)(std::__1::forward<DB::ReplicatedAccessStorage*>(fp0))) std::__1::__invoke<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&)::'lambda'()&>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&) obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3676:1 (clickhouse+0x13b292c1)
  26. #21 void std::__1::__invoke_void_return_wrapper<void>::__call<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&)::'lambda'()&>(void (DB::ReplicatedAccessStorage::*&&)()...) obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348:9 (clickhouse+0x13b292c1)
  27. #22 std::__1::__function::__default_alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&)::'lambda'(), void ()>::operator()() obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1608:12 (clickhouse+0x13b292c1)
  28. #23 void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&)::'lambda'(), void ()> >(std::__1::__function::__policy_storage const*) obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2089:16 (clickhouse+0x13b292c1)
  29. #24 std::__1::__function::__policy_func<void ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2221:16 (clickhouse+0x97af6f5)
  30. #25 std::__1::function<void ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2560:12 (clickhouse+0x97af6f5)
  31. #26 ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:266:17 (clickhouse+0x97af6f5)
  32. #27 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()::operator()() const obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:136:73 (clickhouse+0x97b2a78)
  33. #28 decltype(std::__1::forward<void>(fp)(std::__1::forward<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()>(fp0)...)) std::__1::__invoke<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()>(void&&, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()&&...) obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3676:1 (clickhouse+0x97b2a78)
  34. #29 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()>&, std::__1::__tuple_indices<>) obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:280:5 (clickhouse+0x97b2a78)
  35. #30 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()> >(void*) obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:291:5 (clickhouse+0x97b2a78)
  36.  
  37. Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
  38.  
  39. Mutex M3262 acquired here while holding mutex M2855 in thread T5:
  40. #0 pthread_mutex_lock <null> (clickhouse+0x9697cf6)
  41. #1 std::__1::__libcpp_mutex_lock(pthread_mutex_t*) obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:405:10 (clickhouse+0x1b3443d9)
  42. #2 std::__1::mutex::lock() obj-x86_64-linux-gnu/../contrib/libcxx/src/mutex.cpp:33:14 (clickhouse+0x1b3443d9)
  43. #3 std::__1::lock_guard<std::__1::mutex>::lock_guard(std::__1::mutex&) obj-x86_64-linux-gnu/../contrib/libcxx/include/__mutex_base:91:27 (clickhouse+0x13b271f4)
  44. #4 DB::ReplicatedAccessStorage::subscribeForChangesImpl(DB::IAccessEntity::Type, std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)> const&) const obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:602:21 (clickhouse+0x13b271f4)
  45. #5 DB::IAccessStorage::subscribeForChanges(DB::IAccessEntity::Type, std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)> const&) const obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:405:12 (clickhouse+0x13ae2519)
  46. #6 DB::MultipleAccessStorage::updateSubscriptionsToNestedStorages(std::__1::unique_lock<std::__1::mutex>&) const obj-x86_64-linux-gnu/../src/Access/MultipleAccessStorage.cpp:380:41 (clickhouse+0x13b06ed9)
  47. #7 DB::MultipleAccessStorage::subscribeForChangesImpl(DB::IAccessEntity::Type, std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)> const&) const obj-x86_64-linux-gnu/../src/Access/MultipleAccessStorage.cpp:296:9 (clickhouse+0x13b0a165)
  48. #8 DB::IAccessStorage::subscribeForChanges(DB::IAccessEntity::Type, std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)> const&) const obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:405:12 (clickhouse+0x13ae2519)
  49. #9 basic_scope_guard<std::__1::function<void ()> > DB::IAccessStorage::subscribeForChanges<DB::RowPolicy>(std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)>) const obj-x86_64-linux-gnu/../src/Access/IAccessStorage.h:138:78 (clickhouse+0x13b46007)
  50. #10 DB::RowPolicyCache::ensureAllRowPoliciesRead() obj-x86_64-linux-gnu/../src/Access/RowPolicyCache.cpp:134:43 (clickhouse+0x13b46007)
  51. #11 DB::RowPolicyCache::getEnabledRowPolicies(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, boost::container::flat_set<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag>, std::__1::less<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> >, void> const&) obj-x86_64-linux-gnu/../src/Access/RowPolicyCache.cpp:106:5 (clickhouse+0x13b45c5a)
  52. #12 DB::AccessControlManager::getEnabledRowPolicies(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, boost::container::flat_set<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag>, std::__1::less<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> >, void> const&) const obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:483:30 (clickhouse+0x13a1fd59)
  53. #13 DB::ContextAccess::setRolesInfo(std::__1::shared_ptr<DB::EnabledRolesInfo const> const&) const obj-x86_64-linux-gnu/../src/Access/ContextAccess.cpp:210:37 (clickhouse+0x13a5f471)
  54. #14 DB::ContextAccess::setUser(std::__1::shared_ptr<DB::User const> const&) const obj-x86_64-linux-gnu/../src/Access/ContextAccess.cpp:202:5 (clickhouse+0x13a5eab5)
  55. #15 DB::ContextAccess::ContextAccess(DB::AccessControlManager const&, DB::ContextAccessParams const&) obj-x86_64-linux-gnu/../src/Access/ContextAccess.cpp:157:5 (clickhouse+0x13a5decc)
  56. #16 DB::AccessControlManager::ContextAccessCache::getContextAccess(DB::ContextAccessParams const&) obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:74:55 (clickhouse+0x13a20d6e)
  57. #17 DB::AccessControlManager::getContextAccess(DB::ContextAccessParams const&) const obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:469:34 (clickhouse+0x13a1f9fb)
  58. #18 DB::AccessControlManager::getContextAccess(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::vector<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag>, std::__1::allocator<StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> > > const&, bool, DB::Settings const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::ClientInfo const&) const obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:463:12 (clickhouse+0x13a1f9fb)
  59. #19 DB::Context::setUser(DB::Credentials const&, Poco::Net::SocketAddress const&) obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:803:49 (clickhouse+0x1400e154)
  60. #20 DB::Context::setUser(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&, Poco::Net::SocketAddress const&) obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:823:5 (clickhouse+0x1400e941)
  61. #21 DB::TCPHandler::receiveHello() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:958:29 (clickhouse+0x153f275c)
  62. #22 DB::TCPHandler::runImpl() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:121:9 (clickhouse+0x153ed1c4)
  63. #23 DB::TCPHandler::run() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1650:9 (clickhouse+0x153fe167)
  64. #24 Poco::Net::TCPServerConnection::start() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3 (clickhouse+0x1873e502)
  65. #25 Poco::Net::TCPServerDispatcher::run() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20 (clickhouse+0x1873ec8f)
  66. #26 Poco::PooledThread::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14 (clickhouse+0x188b52e1)
  67. #27 Poco::(anonymous namespace)::RunnableHolder::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:55:11 (clickhouse+0x188b376f)
  68. #28 Poco::ThreadImpl::runnableEntry(void*) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27 (clickhouse+0x188b1ee7)
  69.  
  70. Mutex M3267 acquired here while holding mutex M3262 in thread T5:
  71. #0 pthread_mutex_lock <null> (clickhouse+0x9697cf6)
  72. #1 std::__1::__libcpp_mutex_lock(pthread_mutex_t*) obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:405:10 (clickhouse+0x1b3443d9)
  73. #2 std::__1::mutex::lock() obj-x86_64-linux-gnu/../contrib/libcxx/src/mutex.cpp:33:14 (clickhouse+0x1b3443d9)
  74. #3 std::__1::lock_guard<std::__1::mutex>::lock_guard(std::__1::mutex&) obj-x86_64-linux-gnu/../contrib/libcxx/include/__mutex_base:91:27 (clickhouse+0x1401a5da)
  75. #4 DB::Context::getZooKeeper() const obj-x86_64-linux-gnu/../src/Interpreters/Context.cpp:1791:21 (clickhouse+0x1401a5da)
  76. #5 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&)::$_2::operator()() const obj-x86_64-linux-gnu/../programs/server/Server.cpp:898:98 (clickhouse+0x97249d5)
  77. #6 decltype(std::__1::forward<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&)::$_2&>(fp)()) std::__1::__invoke<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&)::$_2&>(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&)::$_2&) obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3676:1 (clickhouse+0x97249d5)
  78. #7 std::__1::shared_ptr<zkutil::ZooKeeper> std::__1::__invoke_void_return_wrapper<std::__1::shared_ptr<zkutil::ZooKeeper> >::__call<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&)::$_2&>(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&)::$_2&) obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:317:16 (clickhouse+0x97249d5)
  79. #8 std::__1::__function::__default_alloc_func<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&)::$_2, std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1608:12 (clickhouse+0x97249d5)
  80. #9 std::__1::shared_ptr<zkutil::ZooKeeper> std::__1::__function::__policy_invoker<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::__call_impl<std::__1::__function::__default_alloc_func<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&)::$_2, std::__1::shared_ptr<zkutil::ZooKeeper> ()> >(std::__1::__function::__policy_storage const*) obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2089:16 (clickhouse+0x97249d5)
  81. #10 std::__1::__function::__policy_func<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2221:16 (clickhouse+0x13b1d28c)
  82. #11 std::__1::function<std::__1::shared_ptr<zkutil::ZooKeeper> ()>::operator()() const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2560:12 (clickhouse+0x13b1d28c)
  83. #12 DB::ReplicatedAccessStorage::tryInsertNoLock(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&, bool, std::__1::vector<std::__1::tuple<std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)>, StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag>, std::__1::shared_ptr<DB::IAccessEntity const> >, std::__1::allocator<std::__1::tuple<std::__1::function<void (StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::shared_ptr<DB::IAccessEntity const> const&)>, StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag>, std::__1::shared_ptr<DB::IAccessEntity const> > > >&) obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:98:22 (clickhouse+0x13b1d28c)
  84. #13 DB::ReplicatedAccessStorage::insertImpl(std::__1::shared_ptr<DB::IAccessEntity const> const&, bool) obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:84:13 (clickhouse+0x13b1cc9e)
  85. #14 DB::IAccessStorage::insert(std::__1::shared_ptr<DB::IAccessEntity const> const&) obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:235:12 (clickhouse+0x13adfd6b)
  86. #15 DB::MultipleAccessStorage::insertImpl(std::__1::shared_ptr<DB::IAccessEntity const> const&, bool) obj-x86_64-linux-gnu/../src/Access/MultipleAccessStorage.cpp:224:107 (clickhouse+0x13b09060)
  87. #16 DB::IAccessStorage::insert(std::__1::vector<std::__1::shared_ptr<DB::IAccessEntity const>, std::__1::allocator<std::__1::shared_ptr<DB::IAccessEntity const> > > const&)::$_2::operator()() const obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:247:32 (clickhouse+0x13adff2f)
  88. #17 bool DB::(anonymous namespace)::ErrorsTracker::tryCall<DB::IAccessStorage::insert(std::__1::vector<std::__1::shared_ptr<DB::IAccessEntity const>, std::__1::allocator<std::__1::shared_ptr<DB::IAccessEntity const> > > const&)::$_2>(DB::IAccessStorage::insert(std::__1::vector<std::__1::shared_ptr<DB::IAccessEntity const>, std::__1::allocator<std::__1::shared_ptr<DB::IAccessEntity const> > > const&)::$_2 const&) obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:70:17 (clickhouse+0x13adff2f)
  89. #18 DB::IAccessStorage::insert(std::__1::vector<std::__1::shared_ptr<DB::IAccessEntity const>, std::__1::allocator<std::__1::shared_ptr<DB::IAccessEntity const> > > const&) obj-x86_64-linux-gnu/../src/Access/IAccessStorage.cpp:248:21 (clickhouse+0x13adff2f)
  90. #19 DB::InterpreterCreateUserQuery::execute() obj-x86_64-linux-gnu/../src/Interpreters/InterpreterCreateUserQuery.cpp:142:34 (clickhouse+0x141cf32b)
  91. #20 DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool, DB::ReadBuffer*) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:565:32 (clickhouse+0x149db856)
  92. #21 DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:916:30 (clickhouse+0x149d9d5a)
  93. #22 DB::TCPHandler::runImpl() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:313:24 (clickhouse+0x153ede4f)
  94. #23 DB::TCPHandler::run() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1650:9 (clickhouse+0x153fe167)
  95. #24 Poco::Net::TCPServerConnection::start() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3 (clickhouse+0x1873e502)
  96. #25 Poco::Net::TCPServerDispatcher::run() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20 (clickhouse+0x1873ec8f)
  97. #26 Poco::PooledThread::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14 (clickhouse+0x188b52e1)
  98. #27 Poco::(anonymous namespace)::RunnableHolder::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:55:11 (clickhouse+0x188b376f)
  99. #28 Poco::ThreadImpl::runnableEntry(void*) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27 (clickhouse+0x188b1ee7)
  100.  
  101. Thread T3 (tid=16, running) created by main thread at:
  102. #0 pthread_create <null> (clickhouse+0x967a74b)
  103. #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:509:10 (clickhouse+0x97b2550)
  104. #2 std::__1::thread::thread<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'(), void>(void&&, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()&&...) obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:307:16 (clickhouse+0x97b2550)
  105. #3 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>) obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:136:35 (clickhouse+0x97ae05c)
  106. #4 ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long) obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:168:5 (clickhouse+0x97ae9a7)
  107. #5 ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ReplicatedAccessStorage::*)(), DB::ReplicatedAccessStorage*>(void (DB::ReplicatedAccessStorage::*&&)(), DB::ReplicatedAccessStorage*&&) obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:166:38 (clickhouse+0x13b28383)
  108. #6 DB::ReplicatedAccessStorage::startup() obj-x86_64-linux-gnu/../src/Access/ReplicatedAccessStorage.cpp:58:19 (clickhouse+0x13b1c108)
  109. #7 DB::AccessControlManager::addReplicatedStorage(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<std::__1::shared_ptr<zkutil::ZooKeeper> ()> const&) obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:243:18 (clickhouse+0x13a1ae79)
  110. #8 DB::AccessControlManager::addStoragesFromUserDirectoriesConfig(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<std::__1::shared_ptr<zkutil::ZooKeeper> ()> const&) obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:345:13 (clickhouse+0x13a1d391)
  111. #9 DB::AccessControlManager::addStoragesFromMainConfig(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<std::__1::shared_ptr<zkutil::ZooKeeper> ()> const&) obj-x86_64-linux-gnu/../src/Access/AccessControlManager.cpp:387:9 (clickhouse+0x13a1eb3d)
  112. #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&) obj-x86_64-linux-gnu/../programs/server/Server.cpp:898:20 (clickhouse+0x97173a1)
  113. #11 Poco::Util::Application::run() obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334:8 (clickhouse+0x18753dab)
  114. #12 DB::Server::run() obj-x86_64-linux-gnu/../programs/server/Server.cpp:403:25 (clickhouse+0x970f23e)
  115. #13 Poco::Util::ServerApplication::run(int, char**) obj-x86_64-linux-gnu/../contrib/poco/Util/src/ServerApplication.cpp:611:9 (clickhouse+0x18773723)
  116. #14 mainEntryClickHouseServer(int, char**) obj-x86_64-linux-gnu/../programs/server/Server.cpp:181:20 (clickhouse+0x970da16)
  117. #15 main obj-x86_64-linux-gnu/../programs/main.cpp:366:12 (clickhouse+0x970be59)
  118.  
  119. Thread T5 'TCPHandler' (tid=18, running) created by main thread at:
  120. #0 pthread_create <null> (clickhouse+0x967a74b)
  121. #1 Poco::ThreadImpl::startImpl(Poco::SharedPtr<Poco::Runnable, Poco::ReferenceCounter, Poco::ReleasePolicy<Poco::Runnable> >) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:202:6 (clickhouse+0x188b1977)
  122. #2 Poco::Thread::start(Poco::Runnable&) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:128:2 (clickhouse+0x188b312c)
  123. #3 Poco::PooledThread::start() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:85:10 (clickhouse+0x188b56f2)
  124. #4 Poco::ThreadPool::ThreadPool(int, int, int, int) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:252:12 (clickhouse+0x188b56f2)
  125. #5 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&) obj-x86_64-linux-gnu/../programs/server/Server.cpp:968:22 (clickhouse+0x9718e25)
  126. #6 Poco::Util::Application::run() obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334:8 (clickhouse+0x18753dab)
  127. #7 DB::Server::run() obj-x86_64-linux-gnu/../programs/server/Server.cpp:403:25 (clickhouse+0x970f23e)
  128. #8 Poco::Util::ServerApplication::run(int, char**) obj-x86_64-linux-gnu/../contrib/poco/Util/src/ServerApplication.cpp:611:9 (clickhouse+0x18773723)
  129. #9 mainEntryClickHouseServer(int, char**) obj-x86_64-linux-gnu/../programs/server/Server.cpp:181:20 (clickhouse+0x970da16)
  130. #10 main obj-x86_64-linux-gnu/../programs/main.cpp:366:12 (clickhouse+0x970be59)
  131.  
  132. SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/bin/clickhouse+0x9697cf6) in pthread_mutex_lock
  133.  
Advertisement
Add Comment
Please, Sign In to add comment