**Describe the bug**
MSan report - https://s3.amazonaws.com/clickhouse-test-reports/43905/00ff8b82dc60262ba262c2a2e39a95498b060251/fuzzer_astfuzzermsan//report.html
```
2022.12.21 07:16:36.245599 [ 170 ] {f80a3a19-5191-4791-946c-35498d4d9b9b} <Debug> executeQuery: (from [::ffff:127.0.0.1]:38928) EXPLAIN header = 1 SELECT * FROM (SELECT * FROM (SELECT * FROM numbers(3) ORDER BY number ASC) ORDER BY number DESC) ORDER BY number ASC (stage: Complete)
==167==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x446b1ddd in std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__node_insert_unique_perform[abi:v15000](std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1821:27
    #1 0x446b1ddd in std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__node_insert_unique(std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1852:9
    #2 0x446b1ddd in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_impl<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:2054:32
    #3 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_extract_key[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&, std::__1::__extract_key_fail_tag) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1067:14
    #4 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1045:14
    #5 0x446aef02 in std::__1::pair<std::__1::__hash_const_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::unordered_set<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::emplace[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/unordered_set:659:30
    #6 0x446aef02 in DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor::visitImpl(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:40:67
    #7 0x446aef02 in DB::InDepthQueryTreeVisitor<DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor, false>::visit(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/InDepthQueryTreeVisitor.h:52:22
    #8 0x446ae3da in DB::OrderByLimitByDuplicateEliminationPass::run(std::__1::shared_ptr<DB::IQueryTreeNode>, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:76:13
    #9 0x444e89e9 in DB::QueryTreePassManager::run(std::__1::shared_ptr<DB::IQueryTreeNode>) build_docker/../src/Analyzer/QueryTreePassManager.cpp:99:20
    #10 0x4494092d in DB::(anonymous namespace)::buildQueryTreeAndRunPasses(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const> const&) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:54:29
    #11 0x4494092d in DB::InterpreterSelectQueryAnalyzer::InterpreterSelectQueryAnalyzer(std::__1::shared_ptr<DB::IAST> const&, DB::SelectQueryOptions const&, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:66:18
    #12 0x4432c747 in DB::InterpreterExplainQuery::executeImpl() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:426:48
    #13 0x44329bd4 in DB::InterpreterExplainQuery::execute() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:87:20
    #14 0x457706f7 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/../src/Interpreters/executeQuery.cpp:686:36
    #15 0x45763bfd in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum) build_docker/../src/Interpreters/executeQuery.cpp:1083:30
    #16 0x48fe52b5 in DB::TCPHandler::runImpl() build_docker/../src/Server/TCPHandler.cpp:375:24
    #17 0x49026afd in DB::TCPHandler::run() build_docker/../src/Server/TCPHandler.cpp:1920:9
    #18 0x550d3edd in Poco::Net::TCPServerConnection::start() build_docker/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
    #19 0x550d526e in Poco::Net::TCPServerDispatcher::run() build_docker/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20
    #20 0x558357cb in Poco::PooledThread::run() build_docker/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
    #21 0x55830d61 in Poco::(anonymous namespace)::RunnableHolder::run() build_docker/../contrib/poco/Foundation/src/Thread.cpp:55:11
    #22 0x5582cb28 in Poco::ThreadImpl::runnableEntry(void*) build_docker/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
    #23 0x7faa30782608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
    #24 0x7faa306a7132 in __clone /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95

  Uninitialized value was stored to memory at
    #0 0x4465022b in SipHash::update(char const*, unsigned long) build_docker/../src/Common/SipHash.h:113:13
    #1 0x4465022b in SipHash::update(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) build_docker/../src/Common/SipHash.h:154:9
    #2 0x4465022b in DB::ColumnNode::updateTreeHashImpl(SipHash&) const build_docker/../src/Analyzer/ColumnNode.cpp:84:16
    #3 0x443c88d4 in DB::IQueryTreeNode::getTreeHash() const build_docker/../src/Analyzer/IQueryTreeNode.cpp:186:26
    #4 0x446b16e6 in DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>::QueryTreeNodeWithHash(DB::IQueryTreeNode const*) build_docker/../src/Analyzer/HashUtils.h:19:22
    #5 0x446b16e6 in DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>* std::__1::construct_at[abi:v15000]<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, DB::IQueryTreeNode*, DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*>(DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*, DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__memory/construct_at.h:35:48
    #6 0x446b16e6 in void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>>::construct[abi:v15000]<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, DB::IQueryTreeNode*, void, void>(std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>&, DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*, DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:298:9
    #7 0x446b16e6 in std::__1::unique_ptr<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>>> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__construct_node<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:2365:5
    #8 0x446b16e6 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_impl<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:2053:25
    #9 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_extract_key[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&, std::__1::__extract_key_fail_tag) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1067:14
    #10 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1045:14
    #11 0x446aef02 in std::__1::pair<std::__1::__hash_const_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::unordered_set<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::emplace[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/unordered_set:659:30
    #12 0x446aef02 in DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor::visitImpl(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:40:67
    #13 0x446aef02 in DB::InDepthQueryTreeVisitor<DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor, false>::visit(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/InDepthQueryTreeVisitor.h:52:22
    #14 0x446ae3da in DB::OrderByLimitByDuplicateEliminationPass::run(std::__1::shared_ptr<DB::IQueryTreeNode>, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:76:13
    #15 0x444e89e9 in DB::QueryTreePassManager::run(std::__1::shared_ptr<DB::IQueryTreeNode>) build_docker/../src/Analyzer/QueryTreePassManager.cpp:99:20
    #16 0x4494092d in DB::(anonymous namespace)::buildQueryTreeAndRunPasses(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const> const&) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:54:29
    #17 0x4494092d in DB::InterpreterSelectQueryAnalyzer::InterpreterSelectQueryAnalyzer(std::__1::shared_ptr<DB::IAST> const&, DB::SelectQueryOptions const&, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:66:18
    #18 0x4432c747 in DB::InterpreterExplainQuery::executeImpl() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:426:48
    #19 0x44329bd4 in DB::InterpreterExplainQuery::execute() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:87:20
    #20 0x457706f7 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/../src/Interpreters/executeQuery.cpp:686:36
    #21 0x45763bfd in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum) build_docker/../src/Interpreters/executeQuery.cpp:1083:30
    #22 0x48fe52b5 in DB::TCPHandler::runImpl() build_docker/../src/Server/TCPHandler.cpp:375:24
    #23 0x49026afd in DB::TCPHandler::run() build_docker/../src/Server/TCPHandler.cpp:1920:9
    #24 0x550d3edd in Poco::Net::TCPServerConnection::start() build_docker/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
    #25 0x550d526e in Poco::Net::TCPServerDispatcher::run() build_docker/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20
    #26 0x558357cb in Poco::PooledThread::run() build_docker/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
    #27 0x55830d61 in Poco::(anonymous namespace)::RunnableHolder::run() build_docker/../contrib/poco/Foundation/src/Thread.cpp:55:11
    #28 0x5582cb28 in Poco::ThreadImpl::runnableEntry(void*) build_docker/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
    #29 0x7faa30782608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8

  Uninitialized value was stored to memory at
    #0 0x44650043 in SipHash::update(char const*, unsigned long) build_docker/../src/Common/SipHash.h:113:13
    #1 0x44650043 in SipHash::update(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) build_docker/../src/Common/SipHash.h:154:9
    #2 0x44650043 in DB::ColumnNode::updateTreeHashImpl(SipHash&) const build_docker/../src/Analyzer/ColumnNode.cpp:80:16
    #3 0x443c88d4 in DB::IQueryTreeNode::getTreeHash() const build_docker/../src/Analyzer/IQueryTreeNode.cpp:186:26
    #4 0x446b16e6 in DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>::QueryTreeNodeWithHash(DB::IQueryTreeNode const*) build_docker/../src/Analyzer/HashUtils.h:19:22
    #5 0x446b16e6 in DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>* std::__1::construct_at[abi:v15000]<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, DB::IQueryTreeNode*, DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*>(DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*, DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__memory/construct_at.h:35:48
    #6 0x446b16e6 in void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>>::construct[abi:v15000]<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, DB::IQueryTreeNode*, void, void>(std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>&, DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>*, DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:298:9
    #7 0x446b16e6 in std::__1::unique_ptr<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>>>> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__construct_node<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:2365:5
    #8 0x446b16e6 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_impl<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:2053:25
    #9 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique_extract_key[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&, std::__1::__extract_key_fail_tag) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1067:14
    #10 0x446aef02 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::__hash_table<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::__emplace_unique[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/__hash_table:1045:14
    #11 0x446aef02 in std::__1::pair<std::__1::__hash_const_iterator<std::__1::__hash_node<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, void*>*>, bool> std::__1::unordered_set<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>, std::__1::hash<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::equal_to<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>, std::__1::allocator<DB::QueryTreeNodeWithHash<DB::IQueryTreeNode const*>>>::emplace[abi:v15000]<DB::IQueryTreeNode*>(DB::IQueryTreeNode*&&) build_docker/../contrib/llvm-project/libcxx/include/unordered_set:659:30
    #12 0x446aef02 in DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor::visitImpl(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:40:67
    #13 0x446aef02 in DB::InDepthQueryTreeVisitor<DB::(anonymous namespace)::OrderByLimitByDuplicateEliminationVisitor, false>::visit(std::__1::shared_ptr<DB::IQueryTreeNode>&) build_docker/../src/Analyzer/InDepthQueryTreeVisitor.h:52:22
    #14 0x446ae3da in DB::OrderByLimitByDuplicateEliminationPass::run(std::__1::shared_ptr<DB::IQueryTreeNode>, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Analyzer/Passes/OrderByLimitByDuplicateEliminationPass.cpp:76:13
    #15 0x444e89e9 in DB::QueryTreePassManager::run(std::__1::shared_ptr<DB::IQueryTreeNode>) build_docker/../src/Analyzer/QueryTreePassManager.cpp:99:20
    #16 0x4494092d in DB::(anonymous namespace)::buildQueryTreeAndRunPasses(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const> const&) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:54:29
    #17 0x4494092d in DB::InterpreterSelectQueryAnalyzer::InterpreterSelectQueryAnalyzer(std::__1::shared_ptr<DB::IAST> const&, DB::SelectQueryOptions const&, std::__1::shared_ptr<DB::Context const>) build_docker/../src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:66:18
    #18 0x4432c747 in DB::InterpreterExplainQuery::executeImpl() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:426:48
    #19 0x44329bd4 in DB::InterpreterExplainQuery::execute() build_docker/../src/Interpreters/InterpreterExplainQuery.cpp:87:20
    #20 0x457706f7 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/../src/Interpreters/executeQuery.cpp:686:36
    #21 0x45763bfd in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum) build_docker/../src/Interpreters/executeQuery.cpp:1083:30
    #22 0x48fe52b5 in DB::TCPHandler::runImpl() build_docker/../src/Server/TCPHandler.cpp:375:24
    #23 0x49026afd in DB::TCPHandler::run() build_docker/../src/Server/TCPHandler.cpp:1920:9
    #24 0x550d3edd in Poco::Net::TCPServerConnection::start() build_docker/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
    #25 0x550d526e in Poco::Net::TCPServerDispatcher::run() build_docker/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20
    #26 0x558357cb in Poco::PooledThread::run() build_docker/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
    #27 0x55830d61 in Poco::(anonymous namespace)::RunnableHolder::run() build_docker/../contrib/poco/Foundation/src/Thread.cpp:55:11
    #28 0x5582cb28 in Poco::ThreadImpl::runnableEntry(void*) build_docker/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
    #29 0x7faa30782608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
```

**How to reproduce**
```
set allow_experimental_analyzer=1;
EXPLAIN header = 1 SELECT * FROM (SELECT * FROM (SELECT * FROM numbers(3) ORDER BY number ASC) ORDER BY number DESC) ORDER BY number ASC;
```
cc @kitaisreal 
{
    buffer << std::string(indent, ' ') << "SORT id: " << format_state.getNodeId(this);
    buffer << ", sort_direction: " << toString(sort_direction);
    if (nulls_sort_direction)
        buffer << ", nulls_sort_direction: " << toString(*nulls_sort_direction);
    if (collator)
        buffer << ", collator: " << collator->getLocale();
    buffer << ", with_fill: " << with_fill;
    buffer << '\n' << std::string(indent + 2, ' ') << "EXPRESSION\n";
    getExpression()->dumpTreeImpl(buffer, format_state, indent + 4);
    if (hasFillFrom())
    {
        buffer << '\n' << std::string(indent + 2, ' ') << "FILL FROM\n";
        getFillFrom()->dumpTreeImpl(buffer, format_state, indent + 4);
    }
    if (hasFillTo())
    {
        buffer << '\n' << std::string(indent + 2, ' ') << "FILL TO\n";
        getFillTo()->dumpTreeImpl(buffer, format_state, indent + 4);
    }
    if (hasFillStep())
    {
        buffer << '\n' << std::string(indent + 2, ' ') << "FILL STEP\n";
        getFillStep()->dumpTreeImpl(buffer, format_state, indent + 4);
    }
}
bool SortNode::isEqualImpl(const IQueryTreeNode & rhs) const