-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Unitialized memory in system.parts for QueryLog #15284
Copy link
Copy link
Closed
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official release
Description
==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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official release