Skip to content

Unitialized memory in system.parts for QueryLog #15284

@qoega

Description

@qoega
==383==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x25ec0b89 in void writeHexUIntImpl<unsigned long>(unsigned long, char*, char const*) /build/obj-x86_64-linux-gnu/../src/Common/hex.h:57:9
    #1 0x25ec0b89 in void writeHexUIntLowercase<unsigned long>(unsigned long, char*) /build/obj-x86_64-linux-gnu/../src/Common/hex.h:69:5
    #2 0x25ec0b89 in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > getHexUIntLowercase<unsigned long>(unsigned long) /build/obj-x86_64-linux-gnu/../src/Common/hex.h:84:5
    #3 0x25ec0b89 in DB::StorageSystemParts::processNextStorage(std::__1::vector<COW<DB::IColumn>::mutable_ptr<DB::IColumn>, std::__1::allocator<COW<DB::IColumn>::mutable_ptr<DB::IColumn> > >&, DB::StoragesInfo const&, bool) /build/obj-x86_64-linux-gnu/../src/Storages/System/StorageSystemParts.cpp:153:31
    #4 0x25ed4904 in DB::StorageSystemPartsBase::read(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&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo const&, DB::Context const&, DB::QueryProcessingStage::Enum, unsigned long, unsigned int) /build/obj-x86_64-linux-gnu/../src/Storages/System/StorageSystemPartsBase.cpp:247:9
    #5 0x2af260d9 in DB::ReadFromStorageStep::ReadFromStorageStep(std::__1::shared_ptr<DB::RWLockImpl::LockHolderImpl>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const>, DB::StreamLocalLimits&, DB::SizeLimits&, std::__1::shared_ptr<DB::EnabledQuota const>, std::__1::shared_ptr<DB::IStorage>, 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&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context>, DB::QueryProcessingStage::Enum, unsigned long, unsigned long) /build/obj-x86_64-linux-gnu/../src/Processors/QueryPlan/ReadFromStorageStep.cpp:43:26
    #6 0x2936d5f8 in std::__1::__unique_if<DB::ReadFromStorageStep>::__unique_single std::__1::make_unique<DB::ReadFromStorageStep, std::__1::shared_ptr<DB::RWLockImpl::LockHolderImpl>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const>, DB::StreamLocalLimits&, DB::SizeLimits&, std::__1::shared_ptr<DB::EnabledQuota const>, std::__1::shared_ptr<DB::IStorage>, 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&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context>, DB::QueryProcessingStage::Enum&, unsigned long&, unsigned int&>(std::__1::shared_ptr<DB::RWLockImpl::LockHolderImpl>&&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const>&&, DB::StreamLocalLimits&, DB::SizeLimits&, std::__1::shared_ptr<DB::EnabledQuota const>&&, std::__1::shared_ptr<DB::IStorage>&&, 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&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context>&&, DB::QueryProcessingStage::Enum&, unsigned long&, unsigned int&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3028:32
    #7 0x2936a9c3 in DB::IStorage::read(DB::QueryPlan&, std::__1::shared_ptr<DB::RWLockImpl::LockHolderImpl>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const>, DB::StreamLocalLimits&, DB::SizeLimits&, std::__1::shared_ptr<DB::EnabledQuota const>, 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&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context>, DB::QueryProcessingStage::Enum, unsigned long, unsigned int) /build/obj-x86_64-linux-gnu/../src/Storages/IStorage.cpp:109:22
    #8 0x2808e8eb in DB::InterpreterSelectQuery::executeFetchColumns(DB::QueryProcessingStage::Enum, DB::QueryPlan&, std::__1::shared_ptr<DB::PrewhereInfo> const&, 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/../src/Interpreters/InterpreterSelectQuery.cpp:1462:18
    #9 0x2806ee0f in DB::InterpreterSelectQuery::executeImpl(DB::QueryPlan&, std::__1::shared_ptr<DB::IBlockInputStream> const&, std::__1::optional<DB::Pipe>) /build/obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:810:9
    #10 0x2806cca1 in DB::InterpreterSelectQuery::buildQueryPlan(DB::QueryPlan&) /build/obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:474:5
    #11 0x287abc41 in DB::InterpreterSelectWithUnionQuery::buildQueryPlan(DB::QueryPlan&) /build/obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectWithUnionQuery.cpp:182:38
    #12 0x287add6f in DB::InterpreterSelectWithUnionQuery::execute() /build/obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectWithUnionQuery.cpp:207:5
    #13 0x28d71e4c in DB::executeQueryImpl(char const*, char const*, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool, DB::ReadBuffer*) /build/obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:409:28
    #14 0x28d6d973 in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool) /build/obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:696:30
    #15 0x2a612e02 in DB::TCPHandler::runImpl() /build/obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:254:24
    #16 0x2a6421eb in DB::TCPHandler::run() /build/obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1311:9
    #17 0x33e77dc0 in Poco::Net::TCPServerConnection::start() /build/obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
    #18 0x33e79397 in Poco::Net::TCPServerDispatcher::run() /build/obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:114:20
    #19 0x3429a758 in Poco::PooledThread::run() /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
    #20 0x34296246 in Poco::(anonymous namespace)::RunnableHolder::run() /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:55:11
    #21 0x342926da in Poco::ThreadImpl::runnableEntry(void*) /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
    #22 0x7f4e3d2c2668 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9668)
    #23 0x7f4e3d1d92b2 in clone (/lib/x86_64-linux-gnu/libc.so.6+0x1222b2)

  Uninitialized value was stored to memory at
    #0 0x29c284b3 in std::__1::pair<unsigned long, unsigned long>::operator=(std::__1::pair<unsigned long, unsigned long>&&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/utility:532:15
    #1 0x29c284b3 in DB::IHashingBuffer<DB::WriteBuffer>::append(char*) /build/obj-x86_64-linux-gnu/../src/IO/HashingWriteBuffer.h:35:15
    #2 0x29c284b3 in DB::IHashingBuffer<DB::WriteBuffer>::calculateHash(char*, unsigned long) /build/obj-x86_64-linux-gnu/../src/IO/HashingWriteBuffer.cpp:28:17
    #3 0x29c1d833 in DB::HashingWriteBuffer::nextImpl() /build/obj-x86_64-linux-gnu/../src/IO/HashingWriteBuffer.h:61:9
    #4 0x29f3b55f in DB::WriteBuffer::next() /build/obj-x86_64-linux-gnu/../src/IO/WriteBuffer.h:44:13
    #5 0x29f3b55f in DB::MergeTreeDataPartWriterCompact::writeBlock(DB::Block const&) /build/obj-x86_64-linux-gnu/../src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:124:33
    #6 0x29f3cf30 in DB::MergeTreeDataPartWriterCompact::finishDataSerialization(DB::MergeTreeDataPartChecksums&, bool) /build/obj-x86_64-linux-gnu/../src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:166:9
    #7 0x2a226f93 in DB::MergedBlockOutputStream::writeSuffixAndFinalizePart(std::__1::shared_ptr<DB::IMergeTreeDataPart>&, bool, DB::NamesAndTypesList const*, DB::MergeTreeDataPartChecksums*) /build/obj-x86_64-linux-gnu/../src/Storages/MergeTree/MergedBlockOutputStream.cpp:105:13
    #8 0x2a005639 in DB::MergeTreeDataWriter::writeTempPart(DB::BlockWithPartition&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&) /build/obj-x86_64-linux-gnu/../src/Storages/MergeTree/MergeTreeDataWriter.cpp:324:9
    #9 0x29ce4d5f in DB::MergeTreeBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../src/Storages/MergeTree/MergeTreeBlockOutputStream.cpp:25:65
    #10 0x27f40e25 in DB::PushingToViewsBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../src/DataStreams/PushingToViewsBlockOutputStream.cpp:157:21
    #11 0x28023552 in DB::AddingDefaultBlockOutputStream::write(DB::Block const&) /build/obj-x86_64-linux-gnu/../src/DataStreams/AddingDefaultBlockOutputStream.cpp:10:13
    #12 0x27f330bd in DB::SquashingBlockOutputStream::finalize() /build/obj-x86_64-linux-gnu/../src/DataStreams/SquashingBlockOutputStream.cpp:30:17
    #13 0x27f3395c in DB::SquashingBlockOutputStream::writeSuffix() /build/obj-x86_64-linux-gnu/../src/DataStreams/SquashingBlockOutputStream.cpp:50:5
    #14 0x27e2a606 in DB::CountingBlockOutputStream::writeSuffix() /build/obj-x86_64-linux-gnu/../src/DataStreams/CountingBlockOutputStream.h:37:67
    #15 0x28af2440 in DB::SystemLog<DB::QueryLogElement>::flushImpl(std::__1::vector<DB::QueryLogElement, std::__1::allocator<DB::QueryLogElement> > const&, unsigned long) /build/obj-x86_64-linux-gnu/../src/Interpreters/SystemLog.h:449:17
    #16 0x28aef201 in DB::SystemLog<DB::QueryLogElement>::savingThreadFunction() /build/obj-x86_64-linux-gnu/../src/Interpreters/SystemLog.h:402:17
    #17 0x28aee946 in DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()::operator()() const /build/obj-x86_64-linux-gnu/../src/Interpreters/SystemLog.h:225:51
    #18 0x28aee946 in decltype(std::__1::forward<DB::QueryLogElement>(fp)(std::__1::forward<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&>(fp0)...)) std::__1::__invoke_constexpr<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&...) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3525:1
    #19 0x28aee946 in decltype(auto) std::__1::__apply_tuple_impl<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&, std::__1::tuple<> const&>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&, std::__1::__tuple_indices<std::__1::tuple<> const&...>) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1415:1
    #20 0x28aee946 in decltype(auto) std::__1::apply<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&, std::__1::tuple<> const&>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'() const&) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/tuple:1424:1
    #21 0x28aee946 in ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'()::operator()() const /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:171:17
    #22 0x28aee7ac in decltype(std::__1::forward<DB::QueryLogElement>(fp)(std::__1::forward<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(fp0)...)) std::__1::__invoke<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'()&>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519:1
    #23 0x28aee7ac in void std::__1::__invoke_void_return_wrapper<void>::__call<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'()&>(DB::QueryLogElement&&...) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/__functional_base:348:9
    #24 0x28aee7ac in std::__1::__function::__alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1540:16
    #25 0x28aee7ac in std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()>(DB::QueryLogElement&&, DB::SystemLog<DB::QueryLogElement>::startup()::'lambda'()&&...)::'lambda'()>, void ()>::operator()() /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1714:12
    #26 0x8337e87 in std::__1::__function::__value_func<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1867:16
    #27 0x8337e87 in std::__1::function<void ()>::operator()() const /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2473:12
    #28 0x8337e87 in ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:236:17
    #29 0x834461a 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/../src/Common/ThreadPool.cpp:117:73
    #30 0x834461a in 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>)::'lambda1'()>(fp0)...)) std::__1::__invoke<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()&&...) /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519:1
    #31 0x834461a 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:273:5
    #32 0x834461a 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:284:5
    #33 0x7f4e3d2c2668 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9668)
...
SUMMARY: MemorySanitizer: use-of-uninitialized-value /build/obj-x86_64-linux-gnu/../src/Common/hex.h:57:9 in void writeHexUIntImpl<unsigned long>(unsigned 

https://clickhouse-test-reports.s3.yandex.net/15244/a4a5b96d4a0915ca74c41b9c8ed7952c46a1e150/stress_test_(memory).html#fail1

https://clickhouse-test-reports.s3.yandex.net/15244/a4a5b96d4a0915ca74c41b9c8ed7952c46a1e150/stress_test_(memory)/stderr.log

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official release

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions