Skip to content

Logical error: Unexpected return type from A. Expected B. Got C. Action: (STID: 1611-3d19) #91672

@maxknv

Description

@maxknv

Important: This issue was automatically created and is used by CI. Do not modify the issue title.

CI report: AST fuzzer (arm_asan)
CIDB statistics: cidb

Test output:

Error:
Logical error: 'Unexpected return type from equals. Expected Nullable(UInt8). Got UInt8. Action:
FUNCTION equals(_CAST(1_UInt8, 'UInt8'_String) :: 3, __table2.x : 1) -> equals(_CAST(1_UInt8, 'UInt8'_String), __table2.x) Nullable(UInt8) : 4,
input block structure:_CAST(1_UInt8, 'UInt8'_String) UInt8 Const(size = 0, UInt8(size = 1)), __table2.x UInt32 UInt32(size = 0)'.
---

Failed query:
SELECT or(10, isNull(99)) AND 99, * FROM t1__fuzz_0 RIGHT JOIN right_join__fuzz_0 USING (x) QUALIFY equals(or(or(isNullable(10), isNotNull(isNotNull(99))), or(99, or(or(10, isNull(99)) AND 99, isNulla...
---

Reproduce commands (auto-generated; may require manual adjustment):
CREATE TABLE t1__fuzz_0 (`x` Nullable(UInt32), `str` String) ENGINE = Memory
CREATE TABLE t1__fuzz_0 (`x` Nullable(UInt32), `str` String) ENGINE = Memory
CREATE TABLE right_join__fuzz_0 (`x` LowCardinality(UInt32), `s` Array(String)) ENGINE = Join(`ALL`, RIGHT, x)
CREATE TABLE right_join__fuzz_0 (`x` LowCardinality(UInt32), `s` Array(String)) ENGINE = Join(`ALL`, RIGHT, x)
CREATE TABLE right_join__fuzz_0 (`x` UInt32, `s` String) ENGINE = Join(`ALL`, RIGHT, x) SETTINGS join_use_nulls = 1
CREATE TABLE right_join__fuzz_0 (`x` UInt32, `s` String) ENGINE = Join(`ALL`, RIGHT, x) SETTINGS join_use_nulls = 1
SELECT or(10, isNull(99)) AND 99, * FROM t1__fuzz_0 RIGHT JOIN right_join__fuzz_0 USING (x) QUALIFY equals(or(or(isNullable(10), isNotNull(isNotNull(99))), or(99, or(or(10, isNull(99)) AND 99, isNulla...
DROP TABLE IF EXISTS t1__fuzz_0
DROP TABLE IF EXISTS right_join__fuzz_0
---

Stack trace:
__pthread_kill_implementation @ 0x0000000000082009
gsignal @ 0x000000000003a83c
__GI_abort @ 0x0000000000027134
src/Common/Exception.cpp:54: DB::abortOnFailedAssertion(String const&, std::basic_string_view<char, std::char_traits<char>>, void* const*, unsigned long, unsigned long) @ 0x000000001e00a5b4
src/Common/Exception.cpp:87: DB::handle_error_code(String const&, std::basic_string_view<char, std::char_traits<char>>, int, bool, std::vector<void*, std::allocator<void*>> const&) @ 0x000000001e00ba5...
src/Common/Exception.cpp:138: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000001e00c018
DB::Exception::Exception(String&&, int, String, bool) @ 0x000000000f3bb11c
DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000f3ba44c
DB::Exception::Exception<String, String, String, String, String>(int, FormatStringHelperImpl<std::type_identity<String>::type, std::type_identity<String>::type, std::type_identity<String>::type, std::...
src/Interpreters/ExpressionActions.cpp:696: DB::executeAction(DB::ExpressionActions::Action const&, DB::(anonymous namespace)::ExecutionContext&, bool, bool, bool)
src/Interpreters/ExpressionActions.cpp:836: DB::ExpressionActions::execute(DB::Block&, unsigned long&, bool, bool) const @ 0x000000002b545670
src/Interpreters/ExpressionActions.cpp:882: DB::ExpressionActions::execute(DB::Block&, bool, bool) const @ 0x000000002b546758
src/Processors/Transforms/FilterTransform.cpp:88: DB::FilterTransform::FilterTransform(std::shared_ptr<DB::Block const>, std::shared_ptr<DB::ExpressionActions>, String, bool, bool, std::shared_ptr<std...
./contrib/llvm-project/libcxx/include/__memory/construct_at.h:38: DB::FilterTransform* std::construct_at[abi:ne210105]<DB::FilterTransform, std::shared_ptr<DB::Block const> const&, std::shared_ptr<DB:...
inlined from ./contrib/llvm-project/libcxx/include/__memory/construct_at.h:46: DB::FilterTransform* std::__construct_at[abi:ne210105]<DB::FilterTransform, std::shared_ptr<DB::Block const> const&, std:...
inlined from ./contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:302: void std::allocator_traits<std::allocator<DB::FilterTransform>>::construct[abi:ne210105]<DB::FilterTransform, std::s...
inlined from ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:162: __shared_ptr_emplace<const std::shared_ptr<const DB::Block> &, std::shared_ptr<DB::ExpressionActions> &, std::basic_string...
inlined from ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:736: std::shared_ptr<DB::FilterTransform> std::allocate_shared[abi:ne210105]<DB::FilterTransform, std::allocator<DB::FilterTran...
inlined from ./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:744: std::shared_ptr<DB::FilterTransform> std::make_shared[abi:ne210105]<DB::FilterTransform, std::shared_ptr<DB::Block const> ...
src/Processors/QueryPlan/FilterStep.cpp:168: operator()
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:249: decltype(std::declval<DB::FilterStep::transformPipeline(DB::QueryPipelineBuilder&, DB::BuildQueryPipelineSettings const&)...
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:334: std::shared_ptr<DB::IProcessor> std::__invoke_void_return_wrapper<std::shared_ptr<DB::IProcessor>, false>::__call[abi:ne2...
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:348: std::shared_ptr<DB::IProcessor> std::__invoke_r[abi:ne210105]<std::shared_ptr<DB::IProcessor>, DB::FilterStep::transformP...
./contrib/llvm-project/libcxx/include/__functional/function.h:450: ? @ 0x000000003447d2b8
inlined from ./contrib/llvm-project/libcxx/include/__functional/function.h:508: ?
inlined from ./contrib/llvm-project/libcxx/include/__functional/function.h:772: ?
src/QueryPipeline/Pipe.cpp:592: DB::Pipe::addSimpleTransform(std::function<std::shared_ptr<DB::IProcessor> (std::shared_ptr<DB::Block const> const&, DB::Pipe::StreamType)> const&)::$_0::operator()(DB:...
src/QueryPipeline/Pipe.cpp:631: DB::Pipe::addSimpleTransform(std::function<std::shared_ptr<DB::IProcessor> (std::shared_ptr<DB::Block const> const&, DB::Pipe::StreamType)> const&) @ 0x00000000291f6060
src/Processors/QueryPlan/FilterStep.cpp:165: DB::FilterStep::transformPipeline(DB::QueryPipelineBuilder&, DB::BuildQueryPipelineSettings const&) @ 0x00000000344783e8
src/Processors/QueryPlan/ITransformingStep.cpp:21: DB::ITransformingStep::updatePipeline(std::vector<std::unique_ptr<DB::QueryPipelineBuilder, std::default_delete<DB::QueryPipelineBuilder>>, std::allo...
src/Processors/QueryPlan/QueryPlan.cpp:209: DB::QueryPlan::buildQueryPipeline(DB::QueryPlanOptimizationSettings const&, DB::BuildQueryPipelineSettings const&, bool) @ 0x0000000034523984
src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:289: DB::InterpreterSelectQueryAnalyzer::buildQueryPipeline() @ 0x000000002b7f69a4
src/Interpreters/InterpreterSelectQueryAnalyzer.cpp:256: DB::InterpreterSelectQueryAnalyzer::execute() @ 0x000000002b7f63d0
src/Interpreters/executeQuery.cpp:1746: DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, std::unique_ptr<DB::ReadBuffer, std...
src/Interpreters/executeQuery.cpp:1967: DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x000000002bdfe0bc
src/Server/TCPHandler.cpp:777: DB::TCPHandler::runImpl() @ 0x00000000338431c4
src/Server/TCPHandler.cpp:2873: DB::TCPHandler::run() @ 0x000000003387ab24
base/poco/Net/src/TCPServerConnection.cpp:40: Poco::Net::TCPServerConnection::start() @ 0x000000003f679b78
base/poco/Net/src/TCPServerDispatcher.cpp:115: Poco::Net::TCPServerDispatcher::run() @ 0x000000003f67a768
base/poco/Foundation/src/ThreadPool.cpp:205: Poco::PooledThread::run() @ 0x000000003f58ea38
./base/poco/Foundation/src/Thread_POSIX.cpp:341: Poco::ThreadImpl::runnableEntry(void*) @ 0x000000003f589100
asan_thread_start(void*) @ 0x000000000f36acb4
start_thread @ 0x0000000000080398
thread_start @ 0x00000000000e9e9c

Metadata

Metadata

Assignees

Labels

fuzzProblem found by one of the fuzzerstestingSpecial issue with list of bugs found by CI

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions