Skip to content

ASAN: heap-use-after-free in the primary index cache prewarm #74287

@nikitamikhaylov

Description

@nikitamikhaylov

Describe the bug

https://s3.amazonaws.com/clickhouse-test-reports/48902/82c436ce942a1339fc606a7a931a4960f6825248/stateless_tests__asan__[2_2]/stderr.log

Full report: https://s3.amazonaws.com/clickhouse-test-reports/48902/82c436ce942a1339fc606a7a931a4960f6825248/stateless_tests__asan__[2_2].html

Error message and/or stacktrace

=================================================================
==432==ERROR: AddressSanitizer: heap-use-after-free on address 0x523006dc2628 at pc 0x55947d3c5cfa bp 0x7f1cd62727f0 sp 0x7f1cd62727e8
READ of size 8 at 0x523006dc2628 thread T977 (PartsCleaning)
    #0 0x55947d3c5cf9 in std::__1::shared_ptr<DB::MergeTreeSettings const>::shared_ptr[abi:ne180100](std::__1::shared_ptr<DB::MergeTreeSettings const> const&) build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:565:82
    #1 0x55947d3c5cf9 in MultiVersion<DB::MergeTreeSettings>::get() const build_docker/./src/Common/MultiVersion.h:68:16
    #2 0x55947d3c5cf9 in DB::MergeTreeData::getSettings() const build_docker/./src/Storages/MergeTree/MergeTreeData.h:929:33
    #3 0x55947d3c5cf9 in DB::MergeTreeData::getMarkCacheToPrewarm(unsigned long) const build_docker/./src/Storages/MergeTree/MergeTreeData.cpp:2417:12
    #4 0x55947d1ecb91 in DB::IMergeTreeDataPart::clearCaches() build_docker/./src/Storages/MergeTree/IMergeTreeDataPart.cpp:596:34
    #5 0x55947d1ed2bf in DB::IMergeTreeDataPart::removeIfNeeded() build_docker/./src/Storages/MergeTree/IMergeTreeDataPart.cpp:618:9
    #6 0x55947d5590e7 in DB::MergeTreeDataPartWide::~MergeTreeDataPartWide() build_docker/./src/Storages/MergeTree/MergeTreeDataPartWide.cpp:288:9
    #7 0x55946e1d93ad in std::__1::__shared_count::__release_shared[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:157:7
    #8 0x55946e1d93ad in std::__1::__shared_weak_count::__release_shared[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:186:25
    #9 0x55946e1d93ad in std::__1::shared_ptr<DB::IMergeTreeDataPart const>::~shared_ptr[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:648:17
    #10 0x55946e1d93ad in void std::__1::__destroy_at[abi:ne180100]<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, 0>(std::__1::shared_ptr<DB::IMergeTreeDataPart const>*) build_docker/./contrib/llvm-project/libcxx/include/__memory/construct_at.h:67:11
    #11 0x55946e1d93ad in void std::__1::allocator_traits<std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>::destroy[abi:ne180100]<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, void, void>(std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>&, std::__1::shared_ptr<DB::IMergeTreeDataPart const>*) build_docker/./contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:316:5
    #12 0x55946e1d93ad in std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>::__base_destruct_at_end[abi:ne180100](std::__1::shared_ptr<DB::IMergeTreeDataPart const>*) build_docker/./contrib/llvm-project/libcxx/include/vector:926:7
    #13 0x55946e1d93ad in std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>::__clear[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/vector:920:5
    #14 0x55946e1d93ad in std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>::__destroy_vector::operator()[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/vector:490:16
    #15 0x55947d4aa059 in std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>::~vector[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/vector:501:67
    #16 0x55947d4aa059 in DB::MergeTreeData::clearPartsFromFilesystemImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<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>>>>*)::$_6::operator()(DB::MergeTreePartInfo const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&) const::'lambda'()::~() build_docker/./src/Storages/MergeTree/MergeTreeData.cpp:3026:13
    #17 0x55947d4aa059 in std::__1::__function::__default_alloc_func<DB::MergeTreeData::clearPartsFromFilesystemImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<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>>>>*)::$_6::operator()(DB::MergeTreePartInfo const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&) const::'lambda'(), void ()>::destroy[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:218:58
    #18 0x55947d4aa059 in std::__1::__function::__default_alloc_func<DB::MergeTreeData::clearPartsFromFilesystemImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<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>>>>*)::$_6::operator()(DB::MergeTreePartInfo const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&) const::'lambda'(), void ()>::__destroy_and_delete[abi:ne180100](std::__1::__function::__default_alloc_func<DB::MergeTreeData::clearPartsFromFilesystemImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<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>>>>*)::$_6::operator()(DB::MergeTreePartInfo const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&) const::'lambda'(), void ()>*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:221:10
    #19 0x55947d4aa059 in void std::__1::__function::__policy::__large_destroy[abi:ne180100]<std::__1::__function::__default_alloc_func<DB::MergeTreeData::clearPartsFromFilesystemImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<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>>>>*)::$_6::operator()(DB::MergeTreePartInfo const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&) const::'lambda'(), void ()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:539:5
    #20 0x55946e598ef4 in std::__1::__function::__policy_func<void ()>::~__policy_func[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:691:7
    #21 0x55946e598ef4 in std::__1::function<void ()>::~function() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:972:43
    #22 0x55946e598ef4 in DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::operator()(std::__1::function<void ()>&&, Priority)::'lambda'()::operator()()::'lambda0'()::operator()() const build_docker/./src/Common/threadPoolCallbackRunner.h:176:13
    #23 0x55946e5979d2 in BasicScopeGuard<DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::operator()(std::__1::function<void ()>&&, Priority)::'lambda'()::operator()()::'lambda0'()>::invoke() build_docker/./base/base/../base/scope_guard.h:101:9
    #24 0x55946e5979d2 in BasicScopeGuard<DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::operator()(std::__1::function<void ()>&&, Priority)::'lambda'()::operator()()::'lambda0'()>::~BasicScopeGuard() build_docker/./base/base/../base/scope_guard.h:50:26
    #25 0x55946e5979d2 in DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::operator()(std::__1::function<void ()>&&, Priority)::'lambda'()::operator()() build_docker/./src/Common/threadPoolCallbackRunner.h:192:9
    #26 0x559469018cae in std::__1::__function::__policy_func<void ()>::operator()[abi:ne180100]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #27 0x559469018cae in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #28 0x559469018cae in ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::worker() build_docker/./src/Common/ThreadPool.cpp:775:17
    #29 0x559469025640 in decltype(*std::declval<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&>().*std::declval<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)()>()()) std::__1::__invoke[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&, void>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:312:25
    #30 0x559469025640 in decltype(auto) std::__1::__apply_tuple_impl[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&, 0ul>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&, std::__1::__tuple_indices<0ul>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1424:5
    #31 0x559469025640 in decltype(auto) std::__1::apply[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1428:5
    #32 0x559469025640 in ThreadFromGlobalPoolImpl<false, true>::ThreadFromGlobalPoolImpl<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:311:13
    #33 0x5594690141e6 in std::__1::__function::__policy_func<void ()>::operator()[abi:ne180100]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #34 0x5594690141e6 in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #35 0x5594690141e6 in ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::worker() build_docker/./src/Common/ThreadPool.cpp:785:17
    #36 0x559469020baf in decltype(*std::declval<ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>().*std::declval<void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)()>()()) std::__1::__invoke[abi:ne180100]<void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*, void>(void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*&&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:312:25
    #37 0x559469020baf in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>&, std::__1::__tuple_indices<2ul>) build_docker/./contrib/llvm-project/libcxx/include/__thread/thread.h:193:3
    #38 0x559469020baf in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>>(void*) build_docker/./contrib/llvm-project/libcxx/include/__thread/thread.h:202:3
    #39 0x5594581d9e76 in asan_thread_start(void*) crtstuff.c
    #40 0x7f22f237dac2  (/lib/x86_64-linux-gnu/libc.so.6+0x94ac2) (BuildId: 490fef8403240c91833978d494d39e537409b92e)
    #41 0x7f22f240f84f  (/lib/x86_64-linux-gnu/libc.so.6+0x12684f) (BuildId: 490fef8403240c91833978d494d39e537409b92e)

0x523006dc2628 is located 1320 bytes inside of 6720-byte region [0x523006dc2100,0x523006dc3b40)
freed by thread T924 (ThreadPool) here:
    #0 0x559458213c27 in operator delete(void*, unsigned long, std::align_val_t) (/usr/bin/clickhouse+0xb695c27) (BuildId: 3861b1a074c24dbdc792c07931fa96bcfb665405)
    #1 0x559478508712 in std::__1::__shared_weak_count::__release_shared[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:187:7
    #2 0x559478508712 in std::__1::shared_ptr<DB::IStorage>::~shared_ptr[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:648:17
    #3 0x559478508712 in DB::DatabaseCatalog::TableMarkedAsDropped::~TableMarkedAsDropped() build_docker/./src/Interpreters/DatabaseCatalog.h:253:12
    #4 0x559478508712 in DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0::operator()() const build_docker/./src/Interpreters/DatabaseCatalog.cpp:1323:13
    #5 0x559478508712 in decltype(std::declval<DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0&>()()) std::__1::__invoke[abi:ne180100]<DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0&>(DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:344:25
    #6 0x559478508712 in void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne180100]<DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0&>(DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:419:5
    #7 0x559478508712 in std::__1::__function::__default_alloc_func<DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0, void ()>::operator()[abi:ne180100]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:208:12
    #8 0x559478508712 in void std::__1::__function::__policy_invoker<void ()>::__call_impl[abi:ne180100]<std::__1::__function::__default_alloc_func<DB::DatabaseCatalog::dropTablesParallel(std::__1::vector<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>, std::__1::allocator<std::__1::__list_iterator<DB::DatabaseCatalog::TableMarkedAsDropped, void*>>>)::$_0, void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:608:12
    #9 0x55946e597e71 in std::__1::__function::__policy_func<void ()>::operator()[abi:ne180100]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #10 0x55946e597e71 in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #11 0x55946e597e71 in void DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::executeCallback<std::__1::function<void ()>>(std::__1::promise<void>&, std::__1::function<void ()>&) build_docker/./src/Common/threadPoolCallbackRunner.h:128:13
    #12 0x55946e5979c9 in DB::ThreadPoolCallbackRunnerLocal<void, ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>, std::__1::function<void ()>>::operator()(std::__1::function<void ()>&&, Priority)::'lambda'()::operator()() build_docker/./src/Common/threadPoolCallbackRunner.h:191:13
    #13 0x559469018cae in std::__1::__function::__policy_func<void ()>::operator()[abi:ne180100]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #14 0x559469018cae in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #15 0x559469018cae in ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::worker() build_docker/./src/Common/ThreadPool.cpp:775:17
    #16 0x559469025640 in decltype(*std::declval<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&>().*std::declval<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)()>()()) std::__1::__invoke[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&, void>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:312:25
    #17 0x559469025640 in decltype(auto) std::__1::__apply_tuple_impl[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&, 0ul>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&, std::__1::__tuple_indices<0ul>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1424:5
    #18 0x559469025640 in decltype(auto) std::__1::apply[abi:ne180100]<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&)(), std::__1::tuple<ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1428:5
    #19 0x559469025640 in ThreadFromGlobalPoolImpl<false, true>::ThreadFromGlobalPoolImpl<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:311:13
    #20 0x5594690141e6 in std::__1::__function::__policy_func<void ()>::operator()[abi:ne180100]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #21 0x5594690141e6 in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #22 0x5594690141e6 in ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::worker() build_docker/./src/Common/ThreadPool.cpp:785:17
    #23 0x559469020baf in decltype(*std::declval<ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>().*std::declval<void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)()>()()) std::__1::__invoke[abi:ne180100]<void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*, void>(void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*&&) build_docker/./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:312:25
    #24 0x559469020baf in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>&, std::__1::__tuple_indices<2ul>) build_docker/./contrib/llvm-project/libcxx/include/__thread/thread.h:193:3
    #25 0x559469020baf in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::__1::thread>::ThreadFromThreadPool*>>(void*) build_docker/./contrib/llvm-project/libcxx/include/__thread/thread.h:202:3
    #26 0x5594581d9e76 in asan_thread_start(void*) crtstuff.c

previously allocated by thread T806 (TCPHandler) here:
    #0 0x559458212de2 in operator new(unsigned long, std::align_val_t) (/usr/bin/clickhouse+0xb694de2) (BuildId: 3861b1a074c24dbdc792c07931fa96bcfb665405)
    #1 0x55947db2b8f2 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long, std::align_val_t>(unsigned long, std::align_val_t) build_docker/./contrib/llvm-project/libcxx/include/new:271:10
    #2 0x55947db2b8f2 in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) build_docker/./contrib/llvm-project/libcxx/include/new:290:12
    #3 0x55947db2b8f2 in std::__1::allocator<std::__1::__shared_ptr_emplace<DB::StorageReplicatedMergeTree, std::__1::allocator<DB::StorageReplicatedMergeTree>>>::allocate[abi:ne180100](unsigned long) build_docker/./contrib/llvm-project/libcxx/include/__memory/allocator.h:125:32
    #4 0x55947db2b8f2 in std::__1::allocator_traits<std::__1::allocator<std::__1::__shared_ptr_emplace<DB::StorageReplicatedMergeTree, std::__1::allocator<DB::StorageReplicatedMergeTree>>>>::allocate[abi:ne180100](std::__1::allocator<std::__1::__shared_ptr_emplace<DB::StorageReplicatedMergeTree, std::__1::allocator<DB::StorageReplicatedMergeTree>>>&, unsigned long) build_docker/./contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:269:16
    #5 0x55947db2b8f2 in std::__1::__allocation_guard<std::__1::allocator<std::__1::__shared_ptr_emplace<DB::StorageReplicatedMergeTree, std::__1::allocator<DB::StorageReplicatedMergeTree>>>>::__allocation_guard[abi:ne180100]<std::__1::allocator<DB::StorageReplicatedMergeTree>>(std::__1::allocator<DB::StorageReplicatedMergeTree>, unsigned long) build_docker/./contrib/llvm-project/libcxx/include/__memory/allocation_guard.h:56:16
    #6 0x55947db2b8f2 in std::__1::shared_ptr<DB::StorageReplicatedMergeTree> std::__1::allocate_shared[abi:ne180100]<DB::StorageReplicatedMergeTree, std::__1::allocator<DB::StorageReplicatedMergeTree>, DB::TableZnodeInfo&, DB::LoadingStrictnessLevel const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, std::__1::shared_ptr<DB::Context>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>, bool&, DB::ZooKeeperRetriesInfo&, void>(std::__1::allocator<DB::StorageReplicatedMergeTree> const&, DB::TableZnodeInfo&, DB::LoadingStrictnessLevel const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, std::__1::shared_ptr<DB::Context>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>&&, bool&, DB::ZooKeeperRetriesInfo&) build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:822:46
    #7 0x55947db24c81 in std::__1::shared_ptr<DB::StorageReplicatedMergeTree> std::__1::make_shared[abi:ne180100]<DB::StorageReplicatedMergeTree, DB::TableZnodeInfo&, DB::LoadingStrictnessLevel const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, std::__1::shared_ptr<DB::Context>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>, bool&, DB::ZooKeeperRetriesInfo&, void>(DB::TableZnodeInfo&, DB::LoadingStrictnessLevel const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, std::__1::shared_ptr<DB::Context>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>&&, bool&, DB::ZooKeeperRetriesInfo&) build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:831:10
    #8 0x55947db24c81 in DB::create(DB::StorageFactory::Arguments const&) build_docker/./src/Storages/MergeTree/registerStorageMergeTree.cpp:825:16
    #9 0x55947c6a8f92 in std::__1::__function::__policy_func<std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()[abi:ne180100](DB::StorageFactory::Arguments const&) const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:714:12
    #10 0x55947c6a8f92 in std::__1::function<std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:981:10
    #11 0x55947c6a8f92 in DB::StorageFactory::get(DB::ASTCreateQuery const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, std::__1::shared_ptr<DB::Context>, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, DB::LoadingStrictnessLevel) const build_docker/./src/Storages/StorageFactory.cpp:239:16
    #12 0x55947900596d in DB::InterpreterCreateQuery::doCreateTable(DB::ASTCreateQuery&, DB::InterpreterCreateQuery::TableProperties const&, std::__1::unique_ptr<DB::DDLGuard, std::__1::default_delete<DB::DDLGuard>>&, DB::LoadingStrictnessLevel) build_docker/./src/Interpreters/InterpreterCreateQuery.cpp:1910:42
    #13 0x559478ff74aa in DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) build_docker/./src/Interpreters/InterpreterCreateQuery.cpp:1722:20
    #14 0x559479010d57 in DB::InterpreterCreateQuery::execute() build_docker/./src/Interpreters/InterpreterCreateQuery.cpp:2301:12
    #15 0x55947a06fc79 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/./src/Interpreters/executeQuery.cpp:1441:40
    #16 0x55947a0682c3 in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) build_docker/./src/Interpreters/executeQuery.cpp:1608:26
    #17 0x55947e156f9f in DB::TCPHandler::runImpl() build_docker/./src/Server/TCPHandler.cpp:658:68
    #18 0x55947e195995 in DB::TCPHandler::run() build_docker/./src/Server/TCPHandler.cpp:2625:9
    #19 0x5594865e252e in Poco::Net::TCPServerConnection::start() build_docker/./base/poco/Net/src/TCPServerConnection.cpp:40:3
    #20 0x5594865e30dd in Poco::Net::TCPServerDispatcher::run() build_docker/./base/poco/Net/src/TCPServerDispatcher.cpp:115:38
    #21 0x5594864f550a in Poco::PooledThread::run() build_docker/./base/poco/Foundation/src/ThreadPool.cpp:205:14
    #22 0x5594864ef8a7 in Poco::ThreadImpl::runnableEntry(void*) build_docker/./base/poco/Foundation/src/Thread_POSIX.cpp:335:27
    #23 0x5594581d9e76 in asan_thread_start(void*) crtstuff.c

... (TRUNCATED).

Metadata

Metadata

Assignees

Labels

testingSpecial issue with list of bugs found by CI

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions