We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplified query:
:) select [map(1, [], '', 1), map('', 1, 1, '', toUInt128(1), 1)] settings allow_experimental_analyzer=1, allow_experimental_variant_type=1, use_variant_as_common_type=1 SELECT [map(1, [], '', 1), map('', 1, 1, '', toUInt128(1), 1)] SETTINGS allow_experimental_analyzer = 1, allow_experimental_variant_type = 1, use_variant_as_common_type = 1 Query id: 11c5bcb8-de48-4051-9196-fa6e74f5da26 Elapsed: 0.002 sec. Received exception from server (version 24.5.1): Code: 173. DB::Exception: Received from localhost:9000. DB::Exception: Amount of memory requested to allocate is more than allowed. (CANNOT_ALLOCATE_MEMORY)
(It's probably supposed to fail, but not with this error.)
Stack trace:
0. ./contrib/llvm-project/libcxx/include/exception:141: Poco::Exception::Exception(String const&, int) @ 0x0000000013cbbf52 1. ./build/./src/Common/Exception.cpp:101: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000b19a7b9 2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000656eeec 3. DB::Exception::Exception<>(int, FormatStringHelperImpl<>) @ 0x000000000657986b 4. ./build/./src/Common/PODArray.cpp:29: DB::PODArrayDetails::byte_size(unsigned long, unsigned long) @ 0x000000000b1ba8e9 5. ./src/Common/PODArray.h:250: DB::ColumnVector<unsigned long>::popBack(unsigned long) @ 0x0000000010706443 6. ./build/./src/Columns/ColumnTuple.cpp:166: DB::ColumnTuple::tryInsert(DB::Field const&) @ 0x00000000106767b6 7. ./build/./src/Columns/ColumnArray.cpp:329: DB::ColumnArray::tryInsert(DB::Field const&) @ 0x0000000010535c93 8. ./build/./src/Columns/ColumnMap.cpp:109: DB::ColumnMap::tryInsert(DB::Field const&) @ 0x0000000010635e2b 9. ./build/./src/Columns/ColumnVariant.cpp:444: DB::ColumnVariant::tryInsert(DB::Field const&) @ 0x00000000106da650 10. ./build/./src/Columns/ColumnVariant.cpp:430: DB::ColumnVariant::insert(DB::Field const&) @ 0x00000000106da4f5 11. ./build/./src/Columns/ColumnArray.cpp:315: DB::ColumnArray::insert(DB::Field const&) @ 0x0000000010535bc3 12. ./src/Common/COW.h:284: DB::IDataType::createColumnConst(unsigned long, DB::Field const&) const @ 0x000000000f30578b 13. ./contrib/boost/boost/smart_ptr/intrusive_ptr.hpp:117: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visitImpl(std::shared_ptr<DB::IQueryTreeNode>) @ 0x000000000f653be6 14. ./build/./src/Planner/PlannerActionsVisitor.cpp:590: DB::PlannerActionsVisitor::visit(std::shared_ptr<DB::ActionsDAG>, std::shared_ptr<DB::IQueryTreeNode>) @ 0x000000000f65118d 15. ./contrib/llvm-project/libcxx/include/vector:951: DB::buildActionsDAGFromExpressionNode(std::shared_ptr<DB::IQueryTreeNode> const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&) @ 0x000000001005d587 16. ./build/./src/Planner/PlannerExpressionAnalysis.cpp:316: DB::buildExpressionAnalysisResult(std::shared_ptr<DB::IQueryTreeNode> const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&, DB::PlannerQueryProcessingInfo const&) @ 0x0000000010094a27 17. ./build/./src/Planner/Planner.cpp:0: DB::Planner::buildPlanForQueryNode() @ 0x00000000100494b7 18. ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:815: DB::Planner::buildQueryPlanIfNeeded() @ 0x0000000010044e89 19. ./src/Planner/Planner.h:44: DB::InterpreterSelectQueryAnalyzer::getQueryPlan() @ 0x0000000010042fad 20. ./build/./src/Interpreters/executeQuery.cpp:1151: DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) @ 0x00000000103ea37a 21. ./build/./src/Interpreters/executeQuery.cpp:1393: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x00000000103e70d5 22. ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:612: DB::TCPHandler::runImpl() @ 0x00000000113e6a44 23. ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:593: DB::TCPHandler::run() @ 0x00000000113fde39 24. ./build/./base/poco/Net/src/TCPServerConnection.cpp:57: Poco::Net::TCPServerConnection::start() @ 0x0000000013bd8c47 25. ./contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:48: Poco::Net::TCPServerDispatcher::run() @ 0x0000000013bd911a 26. ./build/./base/poco/Foundation/src/ThreadPool.cpp:202: Poco::PooledThread::run() @ 0x0000000013d11847 27. ./base/poco/Foundation/include/Poco/SharedPtr.h:139: Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000013d0f463 28. ? @ 0x00007ffff7c94ac3 29. ? @ 0x00007ffff7d26850
I.e. ColumnTuple::tryInsert() inserts to some of the columns, then tries to undo these inserts using popBack(), but the columns is empty somehow.
ColumnTuple::tryInsert()
popBack()
Original fuzzer error is slightly different but probably has the same root cause: https://s3.amazonaws.com/clickhouse-test-reports/62104/df5cca373ae89741a4eadf27ff9884ca369948de/ast_fuzzer__ubsan_.html
2024.05.07 00:20:59.503567 [ 960 ] {} <Fatal> BaseDaemon: ########## Short fault info ############ 2024.05.07 00:20:59.503590 [ 960 ] {} <Fatal> BaseDaemon: (version 24.5.1.532, build id: 0C64688047A06043D3A5ADF507328CC00D2F55DD, git hash: 92059693c2aeab904e5f6b73f730be9320d16c0b) (from thread 167) Received signal -3 2024.05.07 00:20:59.503599 [ 960 ] {} <Fatal> BaseDaemon: Signal description: sanitizer trap 2024.05.07 00:20:59.503605 [ 960 ] {} <Fatal> BaseDaemon: Sanitizer trap. 2024.05.07 00:20:59.503619 [ 960 ] {} <Fatal> BaseDaemon: Stack trace: 0x000055a042d52c57 0x000055a043178185 0x000055a03691f186 0x000055a03692b39f 0x000055a05047d57a 0x000055a05043e8c3 0x000055a0502f0b4a 0x000055a050058cf8 0x000055a05026299e 0x000055a0504374f7 0x000055a050437191 0x000055a05005847b 0x000055a04dc018c4 0x000055a04e288282 0x000055a04e27ff90 0x000055a04f741c7b 0x000055a04f7b0ce8 0x000055a04f718ade 0x000055a04f711064 0x000055a04f70d2cf 0x000055a04fdebe32 0x000055a04fde5487 0x000055a051b7a7e6 0x000055a051bb4e96 0x000055a054eccd9e 0x000055a054ecdeba 0x000055a05513a050 0x000055a055135151 0x00007f0d29398ac3 0x00007f0d2942a850 2024.05.07 00:20:59.503633 [ 960 ] {} <Fatal> BaseDaemon: ######################################## 2024.05.07 00:20:59.503728 [ 960 ] {} <Fatal> BaseDaemon: (version 24.5.1.532, build id: 0C64688047A06043D3A5ADF507328CC00D2F55DD, git hash: 92059693c2aeab904e5f6b73f730be9320d16c0b) (from thread 167) (query_id: 80b7b2e4-a18b-4201-a2cb-27ac8b6d28d7) (query: SELECT 5, [map('a', toUInt128(toNullable(1)), 1, toFixedString('b', 1), 1, [1, 2, 3], 'c', 1, 1, [[4, 5, 6]]), map('a', 1, 1, toFixedString(toLowCardinality(toNullable('b')), 1), toUInt128(1), 1, 1, 'c', 1, [[4, 5, 6]]), 'str_2', toNullable(5)] GROUP BY toNullable('str_1'), toNullable(5), toUInt256(5), 'str_1', materialize(materialize(toUInt256(5))) WITH TOTALS) Received signal sanitizer trap (-3) 2024.05.07 00:20:59.503773 [ 960 ] {} <Fatal> BaseDaemon: Sanitizer trap. 2024.05.07 00:20:59.503819 [ 960 ] {} <Fatal> BaseDaemon: Stack trace: 0x000055a042d52c57 0x000055a043178185 0x000055a03691f186 0x000055a03692b39f 0x000055a05047d57a 0x000055a05043e8c3 0x000055a0502f0b4a 0x000055a050058cf8 0x000055a05026299e 0x000055a0504374f7 0x000055a050437191 0x000055a05005847b 0x000055a04dc018c4 0x000055a04e288282 0x000055a04e27ff90 0x000055a04f741c7b 0x000055a04f7b0ce8 0x000055a04f718ade 0x000055a04f711064 0x000055a04f70d2cf 0x000055a04fdebe32 0x000055a04fde5487 0x000055a051b7a7e6 0x000055a051bb4e96 0x000055a054eccd9e 0x000055a054ecdeba 0x000055a05513a050 0x000055a055135151 0x00007f0d29398ac3 0x00007f0d2942a850 2024.05.07 00:20:59.515860 [ 960 ] {} <Fatal> BaseDaemon: 0. ./build_docker/./src/Common/StackTrace.cpp:347: StackTrace::tryCapture() @ 0x00000000248e4c57 2024.05.07 00:20:59.544442 [ 960 ] {} <Fatal> BaseDaemon: 1. ./src/Common/StackTrace.h:0: sanitizerDeathCallback() @ 0x0000000024d0a185 2024.05.07 00:21:00.503898 [ 960 ] {} <Fatal> BaseDaemon: 2. __sanitizer::Die() @ 0x00000000184b1186 2024.05.07 00:21:01.424441 [ 960 ] {} <Fatal> BaseDaemon: 3. ? @ 0x00000000184bd39f 2024.05.07 00:21:02.352049 [ 960 ] {} <Fatal> BaseDaemon: 4. ? @ 0x000000003200f57a 2024.05.07 00:21:02.374079 [ 960 ] {} <Fatal> BaseDaemon: 5. ./build_docker/./src/Columns/ColumnVariant.cpp:0: DB::ColumnVariant::popBack(unsigned long) @ 0x0000000031fd08c3 2024.05.07 00:21:02.386683 [ 960 ] {} <Fatal> BaseDaemon: 6. ./build_docker/./src/Columns/ColumnTuple.cpp:166: DB::ColumnTuple::tryInsert(DB::Field const&) @ 0x0000000031e82b4a 2024.05.07 00:21:02.405070 [ 960 ] {} <Fatal> BaseDaemon: 7. ./build_docker/./src/Columns/ColumnArray.cpp:329: DB::ColumnArray::tryInsert(DB::Field const&) @ 0x0000000031beacf8 2024.05.07 00:21:02.414584 [ 960 ] {} <Fatal> BaseDaemon: 8. ./build_docker/./src/Columns/ColumnMap.cpp:109: DB::ColumnMap::tryInsert(DB::Field const&) @ 0x0000000031df499e 2024.05.07 00:21:02.434316 [ 960 ] {} <Fatal> BaseDaemon: 9. ./build_docker/./src/Columns/ColumnVariant.cpp:444: DB::ColumnVariant::tryInsert(DB::Field const&) @ 0x0000000031fc94f7 2024.05.07 00:21:02.453848 [ 960 ] {} <Fatal> BaseDaemon: 10. ./build_docker/./src/Columns/ColumnVariant.cpp:430: DB::ColumnVariant::insert(DB::Field const&) @ 0x0000000031fc9191 2024.05.07 00:21:02.471929 [ 960 ] {} <Fatal> BaseDaemon: 11. ./build_docker/./src/Columns/ColumnArray.cpp:315: DB::ColumnArray::insert(DB::Field const&) @ 0x0000000031bea47b 2024.05.07 00:21:02.479034 [ 960 ] {} <Fatal> BaseDaemon: 12. ./build_docker/./src/DataTypes/IDataType.cpp:0: DB::IDataType::createColumnConst(unsigned long, DB::Field const&) const @ 0x000000002f7938c4 2024.05.07 00:21:02.511604 [ 960 ] {} <Fatal> BaseDaemon: 13.0. inlined from ./contrib/boost/boost/smart_ptr/intrusive_ptr.hpp:117: intrusive_ptr 2024.05.07 00:21:02.511624 [ 960 ] {} <Fatal> BaseDaemon: 13.1. inlined from ./contrib/boost/boost/smart_ptr/intrusive_ptr.hpp:124: boost::intrusive_ptr<DB::IColumn const>::operator=(boost::intrusive_ptr<DB::IColumn const>&&) 2024.05.07 00:21:02.511664 [ 960 ] {} <Fatal> BaseDaemon: 13.2. inlined from ./src/Common/COW.h:136: COW<DB::IColumn>::immutable_ptr<DB::IColumn>::operator=(COW<DB::IColumn>::immutable_ptr<DB::IColumn>&&) 2024.05.07 00:21:02.511706 [ 960 ] {} <Fatal> BaseDaemon: 13.3. inlined from ./build_docker/./src/Planner/PlannerActionsVisitor.cpp:697: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visitConstant(std::shared_ptr<DB::IQueryTreeNode> const&) 2024.05.07 00:21:02.511748 [ 960 ] {} <Fatal> BaseDaemon: 13. ./build_docker/./src/Planner/PlannerActionsVisitor.cpp:609: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visitImpl(std::shared_ptr<DB::IQueryTreeNode>) @ 0x000000002fe1a282 2024.05.07 00:21:02.542903 [ 960 ] {} <Fatal> BaseDaemon: 14.0. inlined from ./contrib/llvm-project/libcxx/include/vector:556: std::vector<DB::(anonymous namespace)::ActionsScopeNode, std::allocator<DB::(anonymous namespace)::ActionsScopeNode>>::front[abi:v15000]() 2024.05.07 00:21:02.542921 [ 960 ] {} <Fatal> BaseDaemon: 14.1. inlined from ./build_docker/./src/Planner/PlannerActionsVisitor.cpp:590: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visit(std::shared_ptr<DB::IQueryTreeNode>) 2024.05.07 00:21:02.542963 [ 960 ] {} <Fatal> BaseDaemon: 14. ./build_docker/./src/Planner/PlannerActionsVisitor.cpp:992: DB::PlannerActionsVisitor::visit(std::shared_ptr<DB::ActionsDAG>, std::shared_ptr<DB::IQueryTreeNode>) @ 0x000000002fe11f90 2024.05.07 00:21:02.573544 [ 960 ] {} <Fatal> BaseDaemon: 15. ./build_docker/./src/Planner/Utils.cpp:222: DB::buildActionsDAGFromExpressionNode(std::shared_ptr<DB::IQueryTreeNode> const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&) @ 0x00000000312d3c7b 2024.05.07 00:21:02.599639 [ 960 ] {} <Fatal> BaseDaemon: 16.0. inlined from ./build_docker/./src/Planner/PlannerExpressionAnalysis.cpp:316: DB::(anonymous namespace)::analyzeProjection(DB::QueryNode const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&, DB::ActionsChain&) 2024.05.07 00:21:02.599658 [ 960 ] {} <Fatal> BaseDaemon: 16. ./build_docker/./src/Planner/PlannerExpressionAnalysis.cpp:526: DB::buildExpressionAnalysisResult(std::shared_ptr<DB::IQueryTreeNode> const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&, DB::PlannerQueryProcessingInfo const&) @ 0x0000000031342ce8 2024.05.07 00:21:02.650029 [ 960 ] {} <Fatal> BaseDaemon: 17.0. inlined from ./contrib/llvm-project/libcxx/include/vector:1222: vector 2024.05.07 00:21:02.650046 [ 960 ] {} <Fatal> BaseDaemon: 17. ./build_docker/./src/Planner/Planner.cpp:1525: DB::Planner::buildPlanForQueryNode() @ 0x00000000312aaade 2024.05.07 00:21:02.697945 [ 960 ] {} <Fatal> BaseDaemon: 18.0. inlined from ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:815: std::shared_ptr<DB::PlannerContext>::operator->[abi:v15000]() const 2024.05.07 00:21:02.697970 [ 960 ] {} <Fatal> BaseDaemon: 18.1. inlined from ./build_docker/./src/Planner/Planner.cpp:248: DB::(anonymous namespace)::extendQueryContextAndStoragesLifetime(DB::QueryPlan&, std::shared_ptr<DB::PlannerContext> const&) 2024.05.07 00:21:02.698019 [ 960 ] {} <Fatal> BaseDaemon: 18. ./build_docker/./src/Planner/Planner.cpp:1242: DB::Planner::buildQueryPlanIfNeeded() @ 0x00000000312a3064 2024.05.07 00:21:02.715256 [ 960 ] {} <Fatal> BaseDaemon: 19. ./build_docker/./src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:206: DB::InterpreterSelectQueryAnalyzer::getQueryPlan() @ 0x000000003129f2cf 2024.05.07 00:21:02.768340 [ 960 ] {} <Fatal> BaseDaemon: 20.0. inlined from ./contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:274: std::unique_ptr<DB::IInterpreter, std::default_delete<DB::IInterpreter>>::operator->[abi:v15000]() const 2024.05.07 00:21:02.768373 [ 960 ] {} <Fatal> BaseDaemon: 20. ./build_docker/./src/Interpreters/executeQuery.cpp:1150: DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) @ 0x000000003197de32 2024.05.07 00:21:02.826196 [ 960 ] {} <Fatal> BaseDaemon: 21. ./build_docker/./src/Interpreters/executeQuery.cpp:1392: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x0000000031977487 2024.05.07 00:21:02.867376 [ 960 ] {} <Fatal> BaseDaemon: 22. ./build_docker/./src/Server/TCPHandler.cpp:0: DB::TCPHandler::runImpl() @ 0x000000003370c7e6 2024.05.07 00:21:02.932316 [ 960 ] {} <Fatal> BaseDaemon: 23. ./build_docker/./src/Server/TCPHandler.cpp:2343: DB::TCPHandler::run() @ 0x0000000033746e96 2024.05.07 00:21:02.934021 [ 960 ] {} <Fatal> BaseDaemon: 24. ./build_docker/./base/poco/Net/src/TCPServerConnection.cpp:57: Poco::Net::TCPServerConnection::start() @ 0x0000000036a5ed9e 2024.05.07 00:21:02.937144 [ 960 ] {} <Fatal> BaseDaemon: 25.0. inlined from ./contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:302: std::unique_ptr<Poco::Net::TCPServerConnection, std::default_delete<Poco::Net::TCPServerConnection>>::reset[abi:v15000](Poco::Net::TCPServerConnection*) 2024.05.07 00:21:02.937163 [ 960 ] {} <Fatal> BaseDaemon: 25.1. inlined from ./contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:259: ~unique_ptr 2024.05.07 00:21:02.937202 [ 960 ] {} <Fatal> BaseDaemon: 25. ./build_docker/./base/poco/Net/src/TCPServerDispatcher.cpp:116: Poco::Net::TCPServerDispatcher::run() @ 0x0000000036a5feba 2024.05.07 00:21:02.940446 [ 960 ] {} <Fatal> BaseDaemon: 26. ./build_docker/./base/poco/Foundation/src/ThreadPool.cpp:202: Poco::PooledThread::run() @ 0x0000000036ccc050 2024.05.07 00:21:02.943545 [ 960 ] {} <Fatal> BaseDaemon: 27.0. inlined from ./base/poco/Foundation/include/Poco/AutoPtr.h:205: Poco::AutoPtr<Poco::ThreadImpl::ThreadData>::operator->() 2024.05.07 00:21:02.943562 [ 960 ] {} <Fatal> BaseDaemon: 27. ./base/poco/Foundation/src/Thread_POSIX.cpp:350: Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000036cc7151 2024.05.07 00:21:02.943597 [ 960 ] {} <Fatal> BaseDaemon: 28. ? @ 0x00007f0d29398ac3 2024.05.07 00:21:02.943636 [ 960 ] {} <Fatal> BaseDaemon: 29. ? @ 0x00007f0d2942a850 2024.05.07 00:21:02.943677 [ 960 ] {} <Fatal> BaseDaemon: Integrity check of the executable skipped because the reference checksum could not be read. 2024.05.07 00:21:06.363830 [ 960 ] {} <Fatal> BaseDaemon: Changed settings: receive_timeout = 10., receive_data_timeout_ms = 10000, s3_truncate_on_insert = true, allow_suspicious_low_cardinality_types = true, log_queries = true, table_function_remote_max_addresses = 200, allow_experimental_analyzer = true, max_execution_time = 10., max_memory_usage = 10000000000, log_comment = '/workspace/ch/tests/queries/0_stateless/02944_variant_as_common_type_analyzer.sql', allow_introspection_functions = true, use_variant_as_common_type = true, allow_experimental_variant_type = true, input_format_json_infer_incomplete_types_as_strings = true
The text was updated successfully, but these errors were encountered:
Oh, wait, this is trivial, I spent longer writing up this issue than it would take to spot the typo in the code...
Sorry, something went wrong.
ColumnNullable
al13n321
Successfully merging a pull request may close this issue.
Simplified query:
(It's probably supposed to fail, but not with this error.)
Stack trace:
I.e.
ColumnTuple::tryInsert()
inserts to some of the columns, then tries to undo these inserts usingpopBack()
, but the columns is empty somehow.Original fuzzer error is slightly different but probably has the same root cause: https://s3.amazonaws.com/clickhouse-test-reports/62104/df5cca373ae89741a4eadf27ff9884ca369948de/ast_fuzzer__ubsan_.html
The text was updated successfully, but these errors were encountered: