Skip to content

Unexpected return type from {} from tryAddJoinRuntimeFilter #101306

@azat

Description

@azat
:) SELECT 1 FROM (SELECT 1 AS x, 1 AS y) AS a INNER JOIN (SELECT 1023 AS y) AS b USING (y) WHERE round(*) = b.y

SELECT 1
FROM
(
    SELECT
        1 AS x,
        1 AS y
) AS a
INNER JOIN
(
    SELECT 1023 AS y
) AS b USING (y)
WHERE round(*) = b.y

Query id: 7fb809d3-ae5c-4c1d-8804-7d98eb0eb7ea


Elapsed: 0.098 sec.

Received exception:
Code: 49. DB::Exception: Unexpected return type from round. Expected UInt16. Got Const(UInt8): while executing function round on arguments __table1.y UInt8 Const(size = 0, UInt8(size = 1)), __table1.x UInt8 Const(size = 0, UInt8(size = 1)). (LOGICAL_ERROR), Stack trace (when copying this message, always include the lines below):

0. /src/ch/clickhouse/contrib/llvm-project/libcxx/include/__exception/exception.h:113:14: Poco::Exception::Exception(String&&, int) @ 0x000000001f4be638
1. /src/ch/clickhouse/src/Common/Exception.cpp:139:7: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x00000000110129ad
2. /src/ch/clickhouse/src/Common/Exception.h:171:100: DB::Exception::Exception(String&&, int, String, bool) @ 0x000000000a817611
3. /src/ch/clickhouse/src/Common/Exception.h:57:54: DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000a81708b
4. /src/ch/clickhouse/src/Common/Exception.h:189:77: DB::Exception::Exception<String, String, String>(int, FormatStringHelperImpl<std::type_identity<String>::type, std::type_identity<String>::type, std::type_identity<String>::type>, String&&, String&&, String&&) @ 0x000000000a8f873a
5. /src/ch/clickhouse/src/Interpreters/ActionsDAG.cpp:926:27: DB::executeActionForPartialResult(DB::ActionsDAG::Node const*, std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>>, unsigned long, bool) @ 0x00000000151e6459
6. /src/ch/clickhouse/src/Interpreters/ActionsDAG.cpp:1148:52: DB::ActionsDAG::evaluatePartialResult(std::unordered_map<DB::ActionsDAG::Node const*, DB::ColumnWithTypeAndName, std::hash<DB::ActionsDAG::Node const*>, std::equal_to<DB::ActionsDAG::Node const*>, std::allocator<std::pair<DB::ActionsDAG::Node const* const, DB::ColumnWithTypeAndName>>>&, std::vector<DB::ActionsDAG::Node const*, std::allocator<DB::ActionsDAG::Node const*>> const&, unsigned long, DB::PartialEvaluationParameters) @ 0x00000000151e523a
7. /src/ch/clickhouse/src/Interpreters/ActionsDAG.cpp:1037:26: DB::ActionsDAG::updateHeader(DB::Block const&) const @ 0x00000000151e3b8c
8. /src/ch/clickhouse/src/Processors/QueryPlan/ExpressionStep.cpp:69:39: DB::ExpressionStep::ExpressionStep(std::shared_ptr<DB::Block const>, DB::ActionsDAG) @ 0x00000000198d2f63
9. /src/ch/clickhouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:773:30: std::unique_ptr<DB::ExpressionStep, std::default_delete<DB::ExpressionStep>> std::make_unique[abi:fe210105]<DB::ExpressionStep, std::shared_ptr<DB::Block const> const&, DB::ActionsDAG, 0>(std::shared_ptr<DB::Block const> const&, DB::ActionsDAG&&) @ 0x00000000143be9e7
10. /src/ch/clickhouse/src/Processors/QueryPlan/Optimizations/Utils.cpp:33:29: bool DB::makeExpressionNodeOnTopOfImpl<DB::ExpressionStep>(DB::QueryPlan::Node&, DB::ActionsDAG, std::list<DB::QueryPlan::Node, std::allocator<DB::QueryPlan::Node>>&, std::unique_ptr<DB::IDescriptionHolder const, std::default_delete<DB::IDescriptionHolder const>>) @ 0x0000000019a2a515
11. /src/ch/clickhouse/src/Processors/QueryPlan/Optimizations/Utils.cpp:45:12: DB::makeExpressionNodeOnTopOf(DB::QueryPlan::Node&, DB::ActionsDAG, std::list<DB::QueryPlan::Node, std::allocator<DB::QueryPlan::Node>>&, std::unique_ptr<DB::IDescriptionHolder const, std::default_delete<DB::IDescriptionHolder const>>) @ 0x0000000019a2a3c0
12. /src/ch/clickhouse/src/Processors/QueryPlan/Optimizations/joinRuntimeFilter.cpp:198:17: DB::QueryPlanOptimizations::tryAddJoinRuntimeFilter(DB::QueryPlan::Node&, std::list<DB::QueryPlan::Node, std::allocator<DB::QueryPlan::Node>>&, DB::QueryPlanOptimizationSettings const&) @ 0x0000000019a70d42
13. /src/ch/clickhouse/src/Processors/QueryPlan/Optimizations/optimizeTree.cpp:252:52: DB::QueryPlanOptimizations::optimizeTreeSecondPass(DB::QueryPlanOptimizationSettings const&, DB::QueryPlan::Node&, std::list<DB::QueryPlan::Node, std::allocator<DB::QueryPlan::Node>>&, DB::QueryPlan&) @ 0x0000000019a33358
14. /src/ch/clickhouse/src/Processors/QueryPlan/QueryPlan.cpp:659:5: DB::QueryPlan::optimize(DB::QueryPlanOptimizationSettings const&) @ 0x000000001993b80a
15. /src/ch/clickhouse/src/Processors/QueryPlan/QueryPlan.cpp:184:9: DB::QueryPlan::buildQueryPipeline(DB::QueryPlanOptimizationSettings const&, DB::BuildQueryPipelineSettings const&, bool) @ 0x000000001993accd
16. /src/ch/clickhouse/src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:381:34: DB::InterpreterSelectQueryAnalyzer::buildQueryPipeline() @ 0x0000000015d5dc8d
17. /src/ch/clickhouse/src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:346:29: DB::InterpreterSelectQueryAnalyzer::execute() @ 0x0000000015d5d964
18. /src/ch/clickhouse/src/Interpreters/executeQuery.cpp:1815:40: DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, std::unique_ptr<DB::ReadBuffer, std::default_delete<DB::ReadBuffer>>&, boost::intrusive_ptr<DB::IAST>&, std::shared_ptr<DB::ImplicitTransactionControlExecutor>, std::function<void ()>, DB::QueryResultDetails&) @ 0x00000000160ac507
19. /src/ch/clickhouse/src/Interpreters/executeQuery.cpp:2203:11: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x00000000160a757f
20. /src/ch/clickhouse/src/Client/LocalConnection.cpp:286:21: DB::LocalConnection::sendQuery(DB::ConnectionTimeouts const&, String const&, std::unordered_map<String, String, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, String>>> const&, String const&, unsigned long, DB::Settings const*, DB::ClientInfo const*, bool, std::vector<String, std::allocator<String>> const&, std::function<void (DB::Progress const&)>) @ 0x0000000019243f2a
21. /src/ch/clickhouse/src/Client/ClientBase.cpp:1324:29: DB::ClientBase::processOrdinaryQuery(String, boost::intrusive_ptr<DB::IAST>) @ 0x00000000191baa3f
22. /src/ch/clickhouse/src/Client/ClientBase.cpp:2410:13: DB::ClientBase::processParsedSingleQuery(std::basic_string_view<char, std::char_traits<char>>, boost::intrusive_ptr<DB::IAST>, bool&, unsigned long) @ 0x00000000191b8a4c
23. /src/ch/clickhouse/src/Client/ClientBase.cpp:2787:21: DB::ClientBase::executeMultiQuery(String const&) @ 0x00000000191c499b
24. /src/ch/clickhouse/src/Client/ClientBase.cpp:3038:12: DB::ClientBase::processQueryText(String const&) @ 0x00000000191c5c1e
25. /src/ch/clickhouse/src/Client/ClientBase.cpp:3754:18: DB::ClientBase::runInteractive() @ 0x00000000191cec7c
26. /src/ch/clickhouse/programs/local/LocalServer.cpp:0: DB::LocalServer::main(std::vector<String, std::allocator<String>> const&) @ 0x0000000011300dd4
27. /src/ch/clickhouse/base/poco/Util/src/Application.cpp:315:8: Poco::Util::Application::run() @ 0x000000001f54e134
28. /src/ch/clickhouse/programs/local/LocalServer.cpp:1357:20: mainEntryClickHouseLocal(int, char**) @ 0x00000000113101b3
29. /src/ch/clickhouse/programs/main.cpp:415:21: main @ 0x000000000a81027d
30. ../sysdeps/nptl/libc_start_call_main.h:59:16: __libc_start_call_main @ 0x00000000000276c1
31. ../csu/libc-start.c:360:3: __libc_start_main_alias_2 @ 0x00000000000277f9

Metadata

Metadata

Assignees

Labels

fuzzProblem found by one of the fuzzers

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions