Skip to content

Logical Error: Can't set alias of * of Asterisk on alias #78542

@PedroTadim

Description

@PedroTadim

Describe the bug

This is the follow-up to #72537 Waiting for old analyzer to be removed.

How to reproduce

Run Fiddle: https://fiddle.clickhouse.com/ee379e5a-9716-4f70-bdbf-3387e8a01792

Error message and/or stacktrace

Stack trace:

<Fatal> : Logical error: 'Can't set alias of * of Asterisk'.
<Fatal> : Stack trace (when copying this message, always include the lines below):

0. contrib/llvm-project/libcxx/include/__exception/exception.h:113: Poco::Exception::Exception(String const&, int) @ 0x0000000037f78af1
1. src/Common/Exception.cpp:108: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000001be3e6b1
2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000c17e20b
3. src/Common/Exception.h:130: DB::IAST::setAlias(String const&) @ 0x000000001c25ff80
4. src/Interpreters/OptimizeIfWithConstantConditionVisitor.cpp:107: DB::OptimizeIfWithConstantConditionVisitorData::visit(DB::ASTFunction&, std::shared_ptr<DB::IAST>&) @ 0x000000002a78ca12
5. src/Interpreters/InDepthNodeVisitor.h:121: DB::InDepthNodeVisitor<DB::OneTypeMatcher<DB::OptimizeIfWithConstantConditionVisitorData, &DB::NeedChild::all(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&), std::shared_ptr<DB::IAST>>, false, false, std::shared_ptr<DB::IAST>>::doVisit(std::shared_ptr<DB::IAST>&) @ 0x000000002a74eb20
6. src/Interpreters/InDepthNodeVisitor.h:61: void DB::InDepthNodeVisitor<DB::OneTypeMatcher<DB::OptimizeIfWithConstantConditionVisitorData, &DB::NeedChild::all(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&), std::shared_ptr<DB::IAST>>, false, false, std::shared_ptr<DB::IAST>>::visitChildren<false>(std::shared_ptr<DB::IAST>&) @ 0x000000002a74ed8b
7. src/Interpreters/InDepthNodeVisitor.h:59: void DB::InDepthNodeVisitor<DB::OneTypeMatcher<DB::OptimizeIfWithConstantConditionVisitorData, &DB::NeedChild::all(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&), std::shared_ptr<DB::IAST>>, false, false, std::shared_ptr<DB::IAST>>::visitChildren<false>(std::shared_ptr<DB::IAST>&) @ 0x000000002a74ed80
8. src/Interpreters/InDepthNodeVisitor.h:59: void DB::InDepthNodeVisitor<DB::OneTypeMatcher<DB::OptimizeIfWithConstantConditionVisitorData, &DB::NeedChild::all(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&), std::shared_ptr<DB::IAST>>, false, false, std::shared_ptr<DB::IAST>>::visitChildren<false>(std::shared_ptr<DB::IAST>&) @ 0x000000002a74ed80
9. src/Interpreters/InDepthNodeVisitor.h:59: DB::TreeOptimizer::optimizeIf(std::shared_ptr<DB::IAST>&, std::unordered_map<String, std::shared_ptr<DB::IAST>, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, std::shared_ptr<DB::IAST>>>>&, bool, bool) @ 0x000000002a73e466
10. src/Interpreters/TreeRewriter.cpp:1545: DB::TreeRewriter::analyze(std::shared_ptr<DB::IAST>&, DB::NamesAndTypesList const&, std::shared_ptr<DB::IStorage const>, std::shared_ptr<DB::StorageSnapshot> const&, bool, bool, bool, bool) const @ 0x000000002a724ada
11. src/Storages/ColumnsDescription.cpp:1017: DB::(anonymous namespace)::validateColumnsDefaultsAndGetSampleBlockImpl(std::shared_ptr<DB::IAST>, DB::NamesAndTypesList const&, std::shared_ptr<DB::Context const>, bool) @ 0x000000002dd7e329
12. src/Storages/ColumnsDescription.cpp:1044: DB::validateColumnsDefaultsAndGetSampleBlock(std::shared_ptr<DB::IAST>, DB::NamesAndTypesList const&, std::shared_ptr<DB::Context const>) @ 0x000000002dd7f0c3
13. src/Interpreters/InterpreterCreateQuery.cpp:640: DB::InterpreterCreateQuery::getColumnsDescription(DB::ASTExpressionList const&, std::shared_ptr<DB::Context const>, DB::LoadingStrictnessLevel, bool) @ 0x0000000029f9849e
14. src/Interpreters/InterpreterCreateQuery.cpp:785: DB::InterpreterCreateQuery::getTablePropertiesAndNormalizeCreateQuery(DB::ASTCreateQuery&, DB::LoadingStrictnessLevel) const @ 0x0000000029f9c02a
15. src/Interpreters/InterpreterCreateQuery.cpp:1658: DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) @ 0x0000000029fb1544
16. src/Interpreters/InterpreterCreateQuery.cpp:2346: DB::InterpreterCreateQuery::execute() @ 0x0000000029fcdd98
17. src/Interpreters/executeQuery.cpp:1458: DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*, std::shared_ptr<DB::IAST>&) @ 0x000000002a86aa88
18. src/Interpreters/executeQuery.cpp:1625: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x000000002a8629c5
19. src/Server/TCPHandler.cpp:665: DB::TCPHandler::runImpl() @ 0x000000002fa44b76
20. src/Server/TCPHandler.cpp:2630: DB::TCPHandler::run() @ 0x000000002fa8483a
21. base/poco/Net/src/TCPServerConnection.cpp:40: Poco::Net::TCPServerConnection::start() @ 0x000000003815a34f
22. base/poco/Net/src/TCPServerDispatcher.cpp:115: Poco::Net::TCPServerDispatcher::run() @ 0x000000003815b017
23. base/poco/Foundation/src/ThreadPool.cpp:205: Poco::PooledThread::run() @ 0x000000003805e96b
24. base/poco/Foundation/src/Thread_POSIX.cpp:335: Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000038058568
25. asan_thread_start(void*) @ 0x000000000c130e77
26. ? @ 0x00007ffff7ca1e2e
27. ? @ 0x00007ffff7d33a4c

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official releasefuzzProblem found by one of the fuzzersred CIVERY flaky test

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions