Test name: Logical error: '(isConst() || isSparse() || isReplicated()) ? getDataType() == rhs.getDataType() : typeid(*this) == typeid(rhs)' (STID: 2508-2133)
CI report: AST fuzzer (amd_tsan)
Failing test history: cidb
Error:
Logical error: '(isConst() || isSparse() || isReplicated()) ? getDataType() == rhs.getDataType() : typeid(*this) == typeid(rhs)'.
---
Failed query:
SELECT DISTINCT transform(toString(number), ['', '55', ''], [255, NULL, 1024], multiply(multiIf(NULL, divide(isNotNull(number), 65536), divide(greater(number, number), lessOrEquals(moduloOrZero(materialize(NULL), number), isNull(number)))), isNotNull(100000000000000000000.))) FROM system.numbers LIMIT 2147483646
---
Reproduce commands (auto-generated; may require manual adjustment):
SELECT DISTINCT transform(toString(number), ['', '55', ''], [255, NULL, 1024], multiply(multiIf(NULL, divide(isNotNull(number), 65536), divide(greater(number, number), lessOrEquals(moduloOrZero(materialize(NULL), number), isNull(number)))), isNotNull(100000000000000000000.))) FROM system.numbers LIMIT 2147483646;
DROP TABLE IF EXISTS system.numbers;
---
Stack trace:
__pthread_kill @ 0x00000000000969fd
gsignal @ 0x0000000000042476
__lgamma_r_finite @ 0x00000000000287f3
contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:0: ___interceptor_abort @ 0x000000000a4f0110
src/Common/Exception.cpp:60:5: DB::abortOnFailedAssertion(String const&, std::basic_string_view<char, std::char_traits<char>>, void* const*, unsigned long, unsigned long) @ 0x0000000015e7994f
src/Common/Exception.cpp:66:5: DB::abortOnFailedAssertion(String const&) @ 0x0000000015e7a4ac
./src/Columns/IColumn.h:848:9: DB::IColumn::assertTypeEquality(DB::IColumn const&) const @ 0x000000000b0b880a
inlined from ./src/Columns/IColumn.h:252: insertFrom
src/Functions/transform.cpp:486:9: DB::(anonymous namespace)::FunctionTransform::executeString(DB::IColumn const*, DB::IColumn&, COW<DB::IColumn>::immutable_ptr<DB::IColumn>, DB::IColumn const&, unsigned long) const @ 0x0000000013fe0a11
src/Functions/transform.cpp:197:22: DB::(anonymous namespace)::FunctionTransform::executeImpl(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x0000000013fb99e0
src/Functions/IFunctionAdaptors.cpp:10:22: DB::FunctionToExecutableFunctionAdaptor::executeImpl(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x000000001c66dddc
src/Functions/IFunction.cpp:365:15: DB::IExecutableFunction::executeWithoutLowCardinalityColumns(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000001c661e8e
src/Functions/IFunction.cpp:438:22: DB::IExecutableFunction::executeWithoutSparseColumns(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000001c663dd6
src/Functions/IFunction.cpp:577:16: DB::IExecutableFunction::executeWithoutReplicatedColumns(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000001c665df1
src/Functions/IFunction.cpp:486:20: DB::IExecutableFunction::execute(std::vector<DB::ColumnWithTypeAndName, AllocatorWithMemoryTracking<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000001c665532
src/Interpreters/ExpressionActions.cpp:692: DB::executeAction(DB::ExpressionActions::Action const&, DB::(anonymous namespace)::ExecutionContext&, bool, bool, bool)
src/Interpreters/ExpressionActions.cpp:835:60: DB::ExpressionActions::execute(DB::Block&, unsigned long&, bool, bool) const @ 0x000000001fecf86e
src/Processors/Transforms/ExpressionTransform.cpp:31:17: DB::ExpressionTransform::transform(DB::Chunk&) @ 0x0000000026a165ac
./src/Processors/ISimpleTransform.h:33:9: DB::ISimpleTransform::transform(DB::Chunk&, DB::Chunk&) @ 0x000000001a3ab837
src/Processors/ISimpleTransform.cpp:100:9: DB::ISimpleTransform::work() @ 0x0000000026583d08
src/Processors/Executors/ExecutionThreadContext.cpp:53: DB::executeJob(DB::ExecutingGraph::Node*, DB::ReadProgressCallback*)
src/Processors/Executors/ExecutionThreadContext.cpp:102:26: DB::ExecutionThreadContext::executeTask() @ 0x00000000265b05ba
src/Processors/Executors/PipelineExecutor.cpp:351:26: DB::PipelineExecutor::executeStepImpl(unsigned long, DB::IAcquiredSlot*, std::atomic<bool>*) @ 0x000000002659c039
src/Processors/Executors/PipelineExecutor.cpp:279: DB::PipelineExecutor::executeSingleThread(unsigned long, DB::IAcquiredSlot*)
src/Processors/Executors/PipelineExecutor.cpp:602:5: DB::PipelineExecutor::executeImpl(unsigned long, bool) @ 0x000000002659b19e
src/Processors/Executors/PipelineExecutor.cpp:136:9: DB::PipelineExecutor::execute(unsigned long, bool) @ 0x000000002659abed
src/Processors/Executors/PullingAsyncPipelineExecutor.cpp:77: DB::threadFunction(DB::PullingAsyncPipelineExecutor::Data&, std::shared_ptr<DB::ThreadGroup>, unsigned long, bool)
src/Processors/Executors/PullingAsyncPipelineExecutor.cpp:103: operator()
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:87: std::__invoke_result_impl<void, DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>::type std::__invoke[abi:fe210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&)
inlined from ./contrib/llvm-project/libcxx/include/tuple:1380: decltype(auto) std::__apply_tuple_impl[abi:fe210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&, std::__tuple_indices<...>)
inlined from ./contrib/llvm-project/libcxx/include/tuple:1384: decltype(auto) std::apply[abi:fe210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&)
inlined from ./src/Common/ThreadPool.h:312: operator()
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:87: std::__invoke_result_impl<void, ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>::type std::__invoke[abi:fe210105]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&)
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:342: void std::__invoke_void_return_wrapper<void, true>::__call[abi:fe210105]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&)
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:348: DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0 std::__invoke_r[abi:fe210105]<void, ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>()
./contrib/llvm-project/libcxx/include/__functional/function.h:450:24: ? @ 0x00000000265bcdf6
inlined from ./contrib/llvm-project/libcxx/include/__functional/function.h:508: ?
inlined from ./contrib/llvm-project/libcxx/include/__functional/function.h:772: ?
src/Common/ThreadPool.cpp:809:12: ThreadPoolImpl<std::thread>::ThreadFromThreadPool::worker() @ 0x00000000160d4612
inlined from ./contrib/llvm-project/libcxx/include/__type_traits/invoke.h:0: std::__invoke_result_impl<void, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>::type std::__invoke[abi:fe210105]<void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>(void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*&&)
inlined from ./contrib/llvm-project/libcxx/include/__thread/thread.h:159: void std::__thread_execute[abi:fe210105]<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*, 2ul>(std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>&, std::__tuple_indices<2ul>)
./contrib/llvm-project/libcxx/include/__thread/thread.h:168: void* std::__thread_proxy[abi:fe210105]<std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>>(void*) @ 0x00000000160de95c
contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1080:15: __tsan_thread_start_func @ 0x000000000a4e92e8
start_thread @ 0x0000000000094ac3
clone3 @ 0x00000000001268d0
Important: This issue was automatically generated and is used by CI for matching failures. DO NOT modify the body content. DO NOT remove labels.
Test name: Logical error: '(isConst() || isSparse() || isReplicated()) ? getDataType() == rhs.getDataType() : typeid(*this) == typeid(rhs)' (STID: 2508-2133)
CI report: AST fuzzer (amd_tsan)
Failing test history: cidb
Test output: