Commit Graph

46 Commits

Author SHA1 Message Date
Azat Khuzhin
531fb7f867 Fix scope of the InterpreterSelectQuery for views with query
ASAN report (s/#//):
    =================================================================
    ==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fff5d89a080 at pc 0x0000123398bb bp 0x7fff5d8941b0 sp 0x7fff5d8941a8
    READ of size 8 at 0x7fff5d89a080 thread T55 (AsyncBlockInput)
        0 0x123398ba in std::__1::shared_ptr<DB::ContextShared>::operator->() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3933:56
        1 0x123398ba in DB::Context::getLock() const /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/Context.cpp:340
        2 0x123398ba in DB::Context::hasDictionaryAccessRights(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/Context.cpp:711
        3 0x88faf6b in DB::FunctionDictGet<DB::DataTypeNumber<unsigned short>, DB::NameDictGetUInt16>::executeImpl(DB::Block&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > const&, unsigned long, unsigned long) (/usr/bin/clickhouse+0x88faf6b)
        4 0x11da8091 in DB::PreparedFunctionImpl::executeWithoutLowCardinalityColumns(DB::Block&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) /build/obj-x86_64-linux-gnu/../dbms/src/Functions/IFunction.cpp:312:9
        5 0x11da8091 in DB::PreparedFunctionImpl::execute(DB::Block&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) /build/obj-x86_64-linux-gnu/../dbms/src/Functions/IFunction.cpp:473
        6 0x125278c5 in DB::ExpressionAction::execute(DB::Block&, bool) const /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/ExpressionActions.cpp:381:23
        7 0x1254250d in DB::ExpressionActions::execute(DB::Block&, bool) const /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/ExpressionActions.cpp:762:16
        8 0x129e9811 in DB::ExpressionBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:43:21
        9 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        10 0x12a46ef2 in DB::PartialSortingBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:12:34
        11 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        12 0x129f3968 in DB::MergeSortingBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/MergeSortingBlockInputStream.cpp:51:47
        13 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        14 0x129e97a3 in DB::ExpressionBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:41:34
        15 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        16 0x125d5a29 in DB::MaterializingBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/MaterializingBlockInputStream.cpp:25:46
        17 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        18 0x12098079 in DB::SquashingBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockInputStream.cpp:22:36
        19 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        20 0x125c677b in DB::ConvertingBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/ConvertingBlockInputStream.cpp:95:34
        21 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        22 0x125d043e in DB::PushingToViewsBlockOutputStream::process(DB::Block const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp:230:41
        23 0x125cedde in DB::PushingToViewsBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp:147:13
        24 0x125c8600 in DB::SquashingBlockOutputStream::finalize() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:30:17
        25 0x125c89ed in DB::SquashingBlockOutputStream::writeSuffix() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:50:5
        26 0x13402808 in DB::StorageBuffer::writeBlockToDestination(DB::Block const&, std::__1::shared_ptr<DB::IStorage>) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/StorageBuffer.cpp:678:19
        27 0x1340c4b2 in DB::BufferBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/StorageBuffer.cpp:340:25
        28 0x125ce657 in DB::PushingToViewsBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp:116:21
        29 0x125c8600 in DB::SquashingBlockOutputStream::finalize() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:30:17
        30 0x125c89ed in DB::SquashingBlockOutputStream::writeSuffix() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:50:5
        31 0x134652a0 in DB::DistributedBlockOutputStream::writeToLocal(DB::Block const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:550:19
        32 0x1345d13f in DB::DistributedBlockOutputStream::writeAsyncImpl(DB::Block const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:513:13
        33 0x1345abdd in DB::DistributedBlockOutputStream::writeAsync(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:111:5
        34 0x1345abdd in DB::DistributedBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:103
        35 0x125ce657 in DB::PushingToViewsBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp:116:21
        36 0x125c8600 in DB::SquashingBlockOutputStream::finalize() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:30:17
        37 0x125c89ed in DB::SquashingBlockOutputStream::writeSuffix() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/SquashingBlockOutputStream.cpp:50:5
        38 0x1209ae2d in void DB::copyDataImpl<DB::copyData(DB::IBlockInputStream&, DB::IBlockOutputStream&, std::__1::atomic<bool>*)::$_0&, void (&)(DB::Block const&)>(DB::IBlockInputStream&, DB::IBlockOutputStream&, DB::copyData(DB::IBlockInputStream&, DB::IBlockOutputStream&, std::__1::atomic<bool>*)::$_0&, void (&)(DB::Block const&)) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/copyData.cpp:48:8
        39 0x1209ae2d in DB::copyData(DB::IBlockInputStream&, DB::IBlockOutputStream&, std::__1::atomic<bool>*) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/copyData.cpp:61
        40 0x125c1d43 in DB::NullAndDoCopyBlockInputStream::readImpl() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/NullAndDoCopyBlockInputStream.h:42:9
        41 0x1205391a in DB::IBlockInputStream::read() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/IBlockInputStream.cpp:61:15
        42 0x1204e769 in DB::AsynchronousBlockInputStream::calculate() /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/AsynchronousBlockInputStream.cpp:74:34
        43 0x1204f7d6 in DB::AsynchronousBlockInputStream::next()::$_0::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/AsynchronousBlockInputStream.cpp:59:9
        44 0x1204f7d6 in decltype(std::__1::forward<DB::AsynchronousBlockInputStream::next()::$_0&>(fp)()) std::__1::__invoke<DB::AsynchronousBlockInputStream::next()::$_0&>(DB::AsynchronousBlockInputStream::next()::$_0&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410
        45 0x1204f7d6 in void std::__1::__invoke_void_return_wrapper<void>::__call<DB::AsynchronousBlockInputStream::next()::$_0&>(DB::AsynchronousBlockInputStream::next()::$_0&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
        46 0x1204f7d6 in std::__1::__function::__alloc_func<DB::AsynchronousBlockInputStream::next()::$_0, std::__1::allocator<DB::AsynchronousBlockInputStream::next()::$_0>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1527
        47 0x1204f7d6 in std::__1::__function::__func<DB::AsynchronousBlockInputStream::next()::$_0, std::__1::allocator<DB::AsynchronousBlockInputStream::next()::$_0>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1651
        48 0x77324d6 in std::__1::__function::__value_func<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1799:16
        49 0x77324d6 in std::__1::function<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2347
        50 0x77324d6 in ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:221
        51 0x773ad16 in void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:73
        52 0x773ad16 in decltype(std::__1::forward<void>(fp)()) std::__1::__invoke_constexpr<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'() const&>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4416
        53 0x773ad16 in decltype(auto) std::__1::__apply_tuple_impl<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'() const&, std::__1::tuple<> const&>(void&&, std::__1::tuple<> const&, std::__1::__tuple_indices<>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1358
        54 0x773ad16 in decltype(auto) std::__1::apply<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'() const&, std::__1::tuple<> const&>(void&&, std::__1::tuple<> const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1367
        55 0x773ad16 in ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.h:156
        56 0x773ad16 in decltype(std::__1::forward<void>(fp)()) std::__1::__invoke<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()&>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410
        57 0x773ad16 in void std::__1::__invoke_void_return_wrapper<void>::__call<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()&>(ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
        58 0x773ad16 in std::__1::__function::__alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1527
        59 0x773ad16 in std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1651
        60 0x772d9c3 in std::__1::__function::__value_func<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1799:16
        61 0x772d9c3 in std::__1::function<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2347
        62 0x772d9c3 in ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:221
        63 0x7735e87 in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:73
        64 0x7735e87 in decltype(std::__1::forward<void>(fp)()) std::__1::__invoke<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410
        65 0x7735e87 in 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>)::'lambda1'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>&, std::__1::__tuple_indices<>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:341
        66 0x7735e87 in 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>)::'lambda1'()> >(void*) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:351
        67 0x7ffff7fb3fb6 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8fb6)
        68 0x7ffff7ed52ee in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa2ee)

    Address 0x7fff5d89a080 is located in stack of thread T55 (AsyncBlockInput) at offset 4448 in frame
        0 0x125cf5df in DB::PushingToViewsBlockOutputStream::process(DB::Block const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp:199

      This frame has 18 object(s):
        [32, 48) 'in' (line 204)
        [64, 4112) 'local_context' (line 211)
        [4240, 4256) 'ref.tmp' (line 212)
        [4272, 4296) 'ref.tmp6' (line 212)
        [4336, 4360) 'ref.tmp10' (line 212)
        [4400, 9136) 'select' (line 215) <== Memory access at offset 4448 is inside this variable
        [9392, 9416) 'ref.tmp33' (line 215)
        [9456, 9480) 'ref.tmp36' (line 215)
        [9520, 9840) 'ref.tmp43' (line 216)
        [9904, 9960) 'ref.tmp71' (line 223)
        [10000, 10056) 'result_block' (line 230)
        [10096, 10120) 'ref.tmp126' (line 240)
        [10160, 10184) 'ref.tmp127' (line 240)
        [10224, 10248) 'ref.tmp128' (line 240)
        [10288, 10312) 'ref.tmp129' (line 240)
        [10352, 10368) 'ref.tmp130' (line 240)
        [10384, 10408) 'ref.tmp138' (line 240)
        [10448, 10464) 'ref.tmp139' (line 240)
    HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
          (longjmp and C++ exceptions *are* supported)
    Thread T55 (AsyncBlockInput) created by T4 (SystemLogFlush) here:
        0 0x759ffad in pthread_create (/usr/bin/clickhouse+0x759ffad)
        1 0x7733f3e in std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:327:10
        2 0x7733f3e in std::__1:🧵:thread<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'(), void>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:367
        3 0x772b172 in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:35
        4 0x772c613 in ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:138:5
        5 0x77383c2 in ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.h:149:38
        6 0x772f1de in void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:35
        7 0x772e8db in ThreadPoolImpl<ThreadFromGlobalPool>::scheduleOrThrowOnError(std::__1::function<void ()>, int) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:126:5
        8 0x134e4d0e in DB::MergeTreeData::loadDataParts(bool) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/MergeTree/MergeTreeData.cpp:805:14
        9 0x1318d956 in DB::StorageMergeTree::StorageMergeTree(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::ColumnsDescription const&, DB::IndicesDescription const&, DB::ConstraintsDescription const&, bool, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::IAST> const&, DB::MergeTreeData::MergingParams const&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >, bool) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/StorageMergeTree.cpp:80:5
        10 0x1393e5c8 in std::__1::shared_ptr<DB::StorageMergeTree> ext::shared_ptr_helper<DB::StorageMergeTree>::create<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::ColumnsDescription const&, DB::IndicesDescription&, DB::ConstraintsDescription const&, bool const&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >, bool 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&, DB::ColumnsDescription const&, DB::IndicesDescription&, DB::ConstraintsDescription const&, bool const&, DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::IAST>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings> >&&, bool const&) /build/obj-x86_64-linux-gnu/../libs/libcommon/include/ext/shared_ptr_helper.h:19:39
        11 0x1392c4ff in DB::create(DB::StorageFactory::Arguments const&) /build/obj-x86_64-linux-gnu/../dbms/src/Storages/MergeTree/registerStorageMergeTree.cpp:648:16
        12 0x13940444 in decltype(std::__1::forward<std::__1::shared_ptr<DB::IStorage> (*&)(DB::StorageFactory::Arguments const&)>(fp)(std::__1::forward<DB::StorageFactory::Arguments const&>(fp0))) std::__1::__invoke<std::__1::shared_ptr<DB::IStorage> (*&)(DB::StorageFactory::Arguments const&), DB::StorageFactory::Arguments const&>(std::__1::shared_ptr<DB::IStorage> (*&)(DB::StorageFactory::Arguments const&), DB::StorageFactory::Arguments const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410:1
        13 0x13940444 in std::__1::shared_ptr<DB::IStorage> std::__1::__invoke_void_return_wrapper<std::__1::shared_ptr<DB::IStorage> >::__call<std::__1::shared_ptr<DB::IStorage> (*&)(DB::StorageFactory::Arguments const&), DB::StorageFactory::Arguments const&>(std::__1::shared_ptr<DB::IStorage> (*&)(DB::StorageFactory::Arguments const&), DB::StorageFactory::Arguments const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:317
        14 0x13940444 in std::__1::__function::__alloc_func<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&), std::__1::allocator<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&)>, std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1527
        15 0x13940444 in std::__1::__function::__func<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&), std::__1::allocator<std::__1::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&)>, std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1651
        16 0x131075c5 in std::__1::__function::__value_func<std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1799:16
        17 0x131075c5 in std::__1::function<std::__1::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&)>::operator()(DB::StorageFactory::Arguments const&) const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2347
        18 0x131075c5 in DB::StorageFactory::get(DB::ASTCreateQuery&, 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&, DB::Context&, DB::Context&, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, bool, bool) const /build/obj-x86_64-linux-gnu/../dbms/src/Storages/StorageFactory.cpp:164
        19 0x124414ad in DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/InterpreterCreateQuery.cpp:657:46
        20 0x12446e45 in DB::InterpreterCreateQuery::execute() /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/InterpreterCreateQuery.cpp:753:16
        21 0x76760da in DB::SystemLog<DB::QueryLogElement>::prepareTable() /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.h:438:21
        22 0x767006d in DB::SystemLog<DB::QueryLogElement>::flushImpl(DB::SystemLog<DB::QueryLogElement>::EntryType) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.h:327:9
        23 0x766eb18 in DB::SystemLog<DB::QueryLogElement>::threadFunction() /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.h:300:17
        24 0x766e445 in DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.h:187:51
        25 0x766e445 in decltype(std::__1::forward<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&>(fp)()) std::__1::__invoke_constexpr<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4416
        26 0x766e445 in decltype(auto) std::__1::__apply_tuple_impl<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&, std::__1::tuple<> const&>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&, std::__1::tuple<> const&, std::__1::__tuple_indices<>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1358
        27 0x766e445 in decltype(auto) std::__1::apply<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&, std::__1::tuple<> const&>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'() const&, std::__1::tuple<> const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1367
        28 0x766e445 in ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.h:156
        29 0x766e445 in decltype(std::__1::forward<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(fp)()) std::__1::__invoke<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()&>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410
        30 0x766e445 in void std::__1::__invoke_void_return_wrapper<void>::__call<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()&>(ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348
        31 0x766e445 in std::__1::__function::__alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1527
        32 0x766e445 in std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1651
        33 0x772d9c3 in std::__1::__function::__value_func<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1799:16
        34 0x772d9c3 in std::__1::function<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2347
        35 0x772d9c3 in ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:221
        36 0x7735e87 in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()::operator()() const /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:73
        37 0x7735e87 in decltype(std::__1::forward<void>(fp)()) std::__1::__invoke<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:4410
        38 0x7735e87 in 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>)::'lambda1'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>&, std::__1::__tuple_indices<>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:341
        39 0x7735e87 in 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>)::'lambda1'()> >(void*) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:351
        40 0x7ffff7fb3fb6 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8fb6)

    Thread T4 (SystemLogFlush) created by T0 here:
        0 0x759ffad in pthread_create (/usr/bin/clickhouse+0x759ffad)
        1 0x7733f3e in std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__threading_support:327:10
        2 0x7733f3e in std::__1:🧵:thread<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'(), void>(void&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:367
        3 0x772b172 in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:102:35
        4 0x772c613 in ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, int, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.cpp:138:5
        5 0x766b5f6 in ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()>(DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)::'lambda'()&&) /build/obj-x86_64-linux-gnu/../dbms/src/Common/ThreadPool.h:149:38
        6 0x766a214 in DB::SystemLog<DB::QueryLogElement>::SystemLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.h:187:21
        7 0x75ecf52 in DB::QueryLog::QueryLog(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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/QueryLog.h:79:39
        8 0x75ecf52 in std::__1::__compressed_pair_elem<DB::QueryLog, 1, false>::__compressed_pair_elem<DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&, 0ul, 1ul, 2ul, 3ul, 4ul>(std::__1::piecewise_construct_t, std::__1::tuple<DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2155
        9 0x75ecf52 in std::__1::__compressed_pair<std::__1::allocator<DB::QueryLog>, DB::QueryLog>::__compressed_pair<std::__1::allocator<DB::QueryLog>&, DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<DB::QueryLog>&>, std::__1::tuple<DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2258
        10 0x75ecf52 in std::__1::__shared_ptr_emplace<DB::QueryLog, std::__1::allocator<DB::QueryLog> >::__shared_ptr_emplace<DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>(std::__1::allocator<DB::QueryLog>, DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3671
        11 0x75ecf52 in std::__1::shared_ptr<DB::QueryLog> std::__1::shared_ptr<DB::QueryLog>::make_shared<DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>(DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4330
        12 0x75ecf52 in std::__1::enable_if<!(is_array<DB::QueryLog>::value), std::__1::shared_ptr<DB::QueryLog> >::type std::__1::make_shared<DB::QueryLog, DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&>(DB::Context&, 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> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4709
        13 0x75ecf52 in std::__1::shared_ptr<DB::QueryLog> DB::(anonymous namespace)::createSystemLog<DB::QueryLog>(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&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.cpp:39
        14 0x75ecf52 in DB::SystemLogs::SystemLogs(DB::Context&, Poco::Util::AbstractConfiguration const&) /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/SystemLog.cpp:47
        15 0x12350225 in void std::__1::__optional_storage_base<DB::SystemLogs, false>::__construct<DB::Context&, Poco::Util::AbstractConfiguration const&>(DB::Context&, Poco::Util::AbstractConfiguration const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/optional:323:54
        16 0x12350225 in DB::SystemLogs& std::__1::optional<DB::SystemLogs>::emplace<DB::Context&, Poco::Util::AbstractConfiguration const&, void>(DB::Context&, Poco::Util::AbstractConfiguration const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/optional:826
        17 0x12350225 in DB::Context::initializeSystemLogs() /build/obj-x86_64-linux-gnu/../dbms/src/Interpreters/Context.cpp:1679
        18 0x760b2c6 in 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&) /build/obj-x86_64-linux-gnu/../dbms/programs/server/Server.cpp:528:25
        19 0x147fbce0 in Poco::Util::Application::run() /build/obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:335:8
        20 0x75f5df5 in DB::Server::run() /build/obj-x86_64-linux-gnu/../dbms/programs/server/Server.cpp:149:25
        21 0x76463e3 in mainEntryClickHouseServer(int, char**) /build/obj-x86_64-linux-gnu/../dbms/programs/server/Server.cpp:962:20
        22 0x75eaa8b in main /build/obj-x86_64-linux-gnu/../dbms/programs/main.cpp:178:12
        23 0x7ffff7e01bba in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26bba)

    SUMMARY: AddressSanitizer: stack-use-after-scope /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3933:56 in std::__1::shared_ptr<DB::ContextShared>::operator->() const
    Shadow bytes around the buggy address:
      0x10006bb0b3c0: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b3d0: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b3e0: f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2
      0x10006bb0b3f0: f2 f2 f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f8 f2 f2 f2
      0x10006bb0b400: f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f8 f8 f8
    =>0x10006bb0b410:[f8]f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b420: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b430: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b440: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b450: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
      0x10006bb0b460: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
    Shadow byte legend (one shadow byte represents 8 application bytes):
      Addressable:           00
      Partially addressable: 01 02 03 04 05 06 07
      Heap left redzone:       fa
      Freed heap region:       fd
      Stack left redzone:      f1
      Stack mid redzone:       f2
      Stack right redzone:     f3
      Stack after return:      f5
      Stack use after scope:   f8
      Global redzone:          f9
      Global init order:       f6
      Poisoned by user:        f7
      Container overflow:      fc
      Array cookie:            ac
      Intra object redzone:    bb
      ASan internal:           fe
      Left alloca redzone:     ca
      Right alloca redzone:    cb
      Shadow gap:              cc
    ==1==ABORTING
2019-11-06 20:39:23 +03:00
tavplubix
0046b9f137 Wait for jobs to finish on exception (fixes rare segfaults) (#7350) 2019-10-17 17:41:27 +03:00
Alexey Milovidov
aac0b27daa Fixed possible deadlock in distributed queries 2019-08-31 15:18:14 +03:00
Alexey Milovidov
c4712f1e6e Make the code less bad 2019-08-23 02:22:57 +03:00
Alexey Milovidov
859736d935 Basic code quality of Live View 2019-08-23 01:41:30 +03:00
Nikolai Kochetov
631bbde420 Merged with master. 2019-08-12 13:19:13 +03:00
Ivan
cce3ab08bb
Do not convert columns by position when pushing to materialized views (#6415)
* Do not convert columns by position
* Update 00984_materialized_view_to_columns.reference
2019-08-11 00:00:13 +03:00
Nikolai Kochetov
40cc399037 Fix PushingToViewsBlockOutputStream. 2019-08-09 20:15:01 +03:00
Nikolai Kochetov
2ae3db7920 Merged with master. 2019-08-09 18:32:44 +03:00
Amos Bird
39b8141418 Fix recursive materialized view 2019-08-05 02:01:16 +08:00
Alexey Milovidov
8b8c59d71b Simplification of #3796 2019-08-04 03:29:32 +03:00
Alexey Milovidov
224bc4df97 Minor modifications + a comment #3796 2019-08-04 03:12:17 +03:00
Amos Bird
6db1c02bfd Fix materialized view with column defaults.
https://github.com/yandex/ClickHouse/issues/448
https://github.com/yandex/ClickHouse/issues/3484
https://github.com/yandex/ClickHouse/issues/3450
https://github.com/yandex/ClickHouse/issues/2878
https://github.com/yandex/ClickHouse/issues/2285
2019-07-30 10:49:54 +08:00
Vitaliy Zakaznikov
b5120931d5 Merge branch 'master' of https://github.com/yandex/ClickHouse into liveview 2019-07-01 18:12:31 -04:00
Ivan Lezhankin
9fd048cdbd Allow to select virtual columns in materialized view 2019-06-18 19:32:37 +03:00
Vitaliy Zakaznikov
fc4ea55b98 * Fixing bug in dbms/src/DataStreams/PushingToViewsBlockOutputStream.cpp
that was introduced when trying to fix a clang error.
2019-06-10 08:11:43 -04:00
Vitaliy Zakaznikov
87b58e4150 * Fixing clang errors
* Fixing LIVE VIEW tests
2019-06-10 07:18:33 -04:00
Vitaliy Zakaznikov
5f3be8134d * Disallowing writes into LIVE VIEW tables
* Adding support for watching live views via HTTPHandler
* Small fix to WriteBufferValidUTF8.cpp to propagate next() call
* Updated copyData.cpp to treat block with no rows as
  "flush block"
* Updated PushingToViewsBlockOutputStream.cpp to directly use
  LIVE VIEW output stream instead of calling its write method
2019-06-05 07:30:29 -04:00
Vitaliy Zakaznikov
673d1a46a0 * Adding support for _version virtual column to LIVE VIEWs when using SELECT
* Adding support for _version column to LIVE VIEWS when using WATCH query
* Adding initial support for WATCH query on LIVE VIEWs
2019-05-29 17:52:13 -04:00
Vitaliy Zakaznikov
d112695c42 * Adding other changes to support LIVE VIEWs 2019-05-28 17:17:48 -04:00
Alexey Zatelepin
3344955154 separate Read and Write lock holders, better method names 2019-03-07 21:10:21 +03:00
Alexey Zatelepin
0d7ab9e3ea allow acquiring read lock to a table out of order if it was already locked by the same query [#CLICKHOUSE-3789]
this is important in preventing ALTER deadlocks
2019-02-27 21:34:38 +03:00
Alexey Milovidov
0861af12a3 Fixed thread names 2019-02-11 00:15:14 +03:00
Alexey Milovidov
abcd5a2a49 Attempt to implemnt global thread pool #4018 2019-01-11 22:12:36 +03:00
Ivan Lezhankin
8b5a05947c Remove redundant information from RWLock.
And fix broken exception in some race conditions
2018-11-28 18:50:52 +03:00
Marek Vavruša
8fad726d95 Added null guards for all CurrentThread::attachToIfDetached()
refs #3622
2018-11-20 09:10:34 -08:00
CurtizJ
f86b9d3983 add lock for .inner. table 2018-10-17 17:11:20 +03:00
CurtizJ
d81ed27004 add lock for .inner. table 2018-10-17 17:08:52 +03:00
Alexey Milovidov
698be017e9 Changes after merge #3208 2018-10-02 00:49:56 +03:00
alexey-milovidov
c4939a1bec
Update PushingToViewsBlockOutputStream.cpp 2018-10-01 04:39:00 +03:00
Marek Vavruša
a971a0bc07 PushingToViewsBlockOutputStream: process blocks concurrently
The current model is to process blocks for attached views in sequence.
This is not ideal when the processing time for each view varies, or is
blocking (for example with replicated tables), as processing of next-in-line
view is blocked by wait in it's predecessor.

This commit changes the behavior to process 2 or more attached views concurrently.
2018-09-26 15:22:06 -07:00
alesapin
e1c8045055 Fix error with header 2018-09-19 15:56:56 +03:00
Alexey Milovidov
3293480a12 Validate sizes of arrays - elements of Nested data structures [#CLICKHOUSE-3692] 2018-09-13 00:08:55 +03:00
Alexey Zatelepin
f75fb6cd68 refactor InterpreterSelectQuery constructors [#CLICKHOUSE-3798] 2018-07-20 22:44:34 +03:00
Vitaliy Lyudvichenko
87ad1df259 More atomic insert to MATERIALIZED VIEW. [#CLICKHOUSE-3743] 2018-05-23 19:18:04 +03:00
Alexey Zatelepin
f2db72a5e5 move squashing to read side #2084 [#CLICKHOUSE-3540]
This way there is a clear correspondence between blocks inserted into the parent table
and blocks inserted into the materialized view.
2018-03-28 14:41:20 +03:00
Alex Zatelepin
1be7c09702 add readPrefix()/readSuffix() calls for completeness #2084 [#CLICKHOUSE-3540] 2018-03-27 22:25:50 +00:00
Alexey Zatelepin
88a9b7de91 fix calls to writeSuffix() in PushingToViewsBlockOutputStream #2084 [#CLICKHOUSE-3540]
don't use copyData because it calls writeSuffix() prematurely.
2018-03-27 23:04:40 +03:00
Alexey Zatelepin
d58483b084 squash blocks when inserting into materialized views #2084 [#CLICKHOUSE-3540] 2018-03-27 20:08:41 +03:00
Alexey Milovidov
ac37b89b16 Better UNION ALL: development #1947 2018-02-26 12:05:06 +03:00
Alexey Milovidov
33e42a9001 Better [#CLICKHOUSE-2] 2018-02-21 06:48:46 +03:00
Alexey Milovidov
fa50fe80a0 Added method "getHeader" in IBlockOutputStream: development [#CLICKHOUSE-2] 2018-02-19 03:45:32 +03:00
Nikolai Kochetov
470c633e09 merged with master 2017-12-01 16:33:47 +03:00
Alexey Zatelepin
d6b82a28fd clone query when populating MaterializedView so that it is not garbled [#CLICKHOUSE-3412] 2017-11-05 20:50:12 +03:00
Nikolai Kochetov
1cee62eb0a supported table_function in insert query [#CLICKHOUSE-3397] 2017-11-03 16:25:39 +03:00
Vitaliy Lyudvichenko
a0d06c5ee0 Don't deduplicate a block inserted from MV if the source block is Ok. [#CLICKHOUSE-3381] 2017-10-26 17:58:00 +03:00