Skip to content

Logical error: '!table_alias.empty()' #88756

@PedroTadim

Description

@PedroTadim

Describe the bug

Easy to reproduce.

How to reproduce

Run:

CREATE VIEW v0 AS (SELECT EXISTS (SELECT 1) c0);
SELECT c0 FROM remote('localhost', 'default', 'v0') tx SETTINGS prefer_localhost_replica = 0;

Error message and/or stacktrace

Stack trace:

<Fatal> : Logical error: '!table_alias.empty()'.
<Fatal> : Stack trace (when copying this message, always include the lines below):

0. src/Common/StackTrace.cpp:395: StackTrace::StackTrace() @ 0x0000000014b90d64
1. src/Common/Exception.cpp:57: DB::abortOnFailedAssertion(String const&) @ 0x0000000014af0f15
2. src/Planner/PlannerActionsVisitor.cpp:205: DB::(anonymous namespace)::ActionNodeNameHelper::calculateActionNodeName(std::shared_ptr<DB::IQueryTreeNode> const&) @ 0x0000000019c4b937
3. src/Planner/PlannerActionsVisitor.cpp:834: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visitConstant(std::shared_ptr<DB::IQueryTreeNode> const&, String const&) @ 0x0000000019c5390b
4. src/Planner/PlannerActionsVisitor.cpp:731: DB::(anonymous namespace)::PlannerActionsVisitorImpl::visitImpl(std::shared_ptr<DB::IQueryTreeNode>) @ 0x0000000019c4da12
5. src/Planner/PlannerActionsVisitor.cpp:709: DB::PlannerActionsVisitor::visit(DB::ActionsDAG&, std::shared_ptr<DB::IQueryTreeNode>) @ 0x0000000019c49c7b
6. src/Planner/Utils.cpp:266: DB::buildActionsDAGFromExpressionNode(std::shared_ptr<DB::IQueryTreeNode> const&, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::PlannerContext> const&, std::unordered_set<DB::QueryTreeNodeWithHash<std::shared_ptr<DB::ColumnNode>, true, true>, std::hash<DB::QueryTreeNodeWithHash<std::shared_ptr<DB::ColumnNode>, true, true>>, std::equal_to<DB::QueryTreeNodeWithHash<std::shared_ptr<DB::ColumnNode>, true, true>>, std::allocator<DB::QueryTreeNodeWithHash<std::shared_ptr<DB::ColumnNode>, true, true>>> const&, bool) @ 0x0000000019c5ec3b
7. src/Planner/PlannerExpressionAnalysis.cpp:400: 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&) @ 0x0000000019fd4aba
8. src/Planner/Planner.cpp:1781: DB::Planner::buildPlanForQueryNode() @ 0x0000000019f6ed3b
9. src/Planner/Planner.cpp:1527: DB::Planner::buildQueryPlanIfNeeded() @ 0x0000000019f6ab30
10. src/Planner/PlannerJoinTree.cpp:1354: DB::(anonymous namespace)::buildQueryPlanForTableExpression(std::shared_ptr<DB::IQueryTreeNode>, std::shared_ptr<DB::IQueryTreeNode> const&, DB::SelectQueryInfo const&, DB::SelectQueryOptions const&, std::shared_ptr<DB::PlannerContext>&, bool, bool) @ 0x0000000019f91cba
11. src/Planner/PlannerJoinTree.cpp:2524: DB::buildJoinTreeQueryPlan(std::shared_ptr<DB::IQueryTreeNode> const&, DB::SelectQueryInfo const&, DB::SelectQueryOptions&, std::unordered_set<String, std::hash<String>, std::equal_to<String>, std::allocator<String>> const&, std::shared_ptr<DB::PlannerContext>&) @ 0x0000000019f8a499
12. src/Planner/Planner.cpp:1756: DB::Planner::buildPlanForQueryNode() @ 0x0000000019f6de34
13. src/Planner/Planner.cpp:1527: DB::Planner::buildQueryPlanIfNeeded() @ 0x0000000019f6ab30
14. src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:275: DB::InterpreterSelectQueryAnalyzer::extractQueryPlan() && @ 0x000000001a882f10
15. src/Storages/StorageView.cpp:183: DB::StorageView::read(DB::QueryPlan&, std::vector<String, std::allocator<String>> const&, std::shared_ptr<DB::StorageSnapshot> const&, DB::SelectQueryInfo&, std::shared_ptr<DB::Context const>, DB::QueryProcessingStage::Enum, unsigned long, unsigned long) @ 0x000000001d9e8cf9
16. src/Planner/PlannerJoinTree.cpp:1047: DB::(anonymous namespace)::buildQueryPlanForTableExpression(std::shared_ptr<DB::IQueryTreeNode>, std::shared_ptr<DB::IQueryTreeNode> const&, DB::SelectQueryInfo const&, DB::SelectQueryOptions const&, std::shared_ptr<DB::PlannerContext>&, bool, bool) @ 0x0000000019f958d9
17. src/Planner/PlannerJoinTree.cpp:2524: DB::buildJoinTreeQueryPlan(std::shared_ptr<DB::IQueryTreeNode> const&, DB::SelectQueryInfo const&, DB::SelectQueryOptions&, std::unordered_set<String, std::hash<String>, std::equal_to<String>, std::allocator<String>> const&, std::shared_ptr<DB::PlannerContext>&) @ 0x0000000019f8a499
18. src/Planner/Planner.cpp:1756: DB::Planner::buildPlanForQueryNode() @ 0x0000000019f6de34
19. src/Planner/Planner.cpp:1527: DB::Planner::buildQueryPlanIfNeeded() @ 0x0000000019f6ab30
20. src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:269: DB::InterpreterSelectQueryAnalyzer::getQueryPlan() @ 0x000000001a882ed0
21. src/Interpreters/executeQuery.cpp:1549: 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>>&, std::shared_ptr<DB::IAST>&, std::shared_ptr<DB::ImplicitTransactionControlExecutor>, std::function<void ()>) @ 0x000000001aba20df
22. src/Interpreters/executeQuery.cpp:1812: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x000000001ab9c3b2
23. src/Server/TCPHandler.cpp:744: DB::TCPHandler::runImpl() @ 0x000000001e4dc5ae
24. src/Server/TCPHandler.cpp:2818: DB::TCPHandler::run() @ 0x000000001e4f6324
25. base/poco/Net/src/TCPServerConnection.cpp:40: Poco::Net::TCPServerConnection::start() @ 0x0000000024369887
26. base/poco/Net/src/TCPServerDispatcher.cpp:115: Poco::Net::TCPServerDispatcher::run() @ 0x0000000024369e65
27. base/poco/Foundation/src/ThreadPool.cpp:205: Poco::PooledThread::run() @ 0x0000000024308fff
28. base/poco/Foundation/src/Thread_POSIX.cpp:341: Poco::ThreadImpl::runnableEntry(void*) @ 0x00000000243066d1
29. start_thread @ 0x00000000000a27f1
30. __clone3 @ 0x0000000000133b5c

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official releasefuzzProblem 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