amorynan opened a new pull request, #39307:
URL: https://github.com/apache/doris/pull/39307
## Proposed changes
in fe we will check the params same with be
in be we throw exception if params is not support
otherwise we will meet coredump like this
```
start BE in local mode
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/array/function_array_aggregation.cpp:150:26:
runtime error: member call on null pointer of type
'doris::vectorized::IAggregateFunction'
#0 0x55dc04c6b409 in
doris::vectorized::ArrayAggregateImpl<(doris::vectorized::AggregateOperation)1>::get_return_type(std::vector<std::shared_ptr<doris::vectorized::IDataType
const>, std::allocator<std::shared_ptr<doris::vectorized::IDataType const>>>
const&)
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/array/function_array_aggregation.cpp:150:26
#1 0x55dc04c6a41f in
doris::vectorized::FunctionArrayMapped<doris::vectorized::ArrayAggregateImpl<(doris::vectorized::AggregateOperation)1>,
doris::vectorized::NameArrayMax>::get_return_type_impl(std::vector<std::shared_ptr<doris::vectorized::IDataType
const>, std::allocator<std::shared_ptr<doris::vectorized::IDataType const>>>
const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/array/function_array_mapped.h:71:16
#2 0x55dc049b06cb in
doris::vectorized::FunctionBuilderImpl::get_return_type_impl(std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/function.h:339:16
#3 0x55dc049c1385 in
doris::vectorized::DefaultFunctionBuilder::get_return_type_impl(std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/function.h:579:26
#4 0x55dc0b0a5652 in
doris::vectorized::FunctionBuilderImpl::get_return_type_without_low_cardinality(std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/function.cpp:283:12
#5 0x55dc0b0a5fd4 in
doris::vectorized::FunctionBuilderImpl::get_return_type(std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/function.cpp:298:17
#6 0x55dc04997050 in
doris::vectorized::FunctionBuilderImpl::build(std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&,
std::shared_ptr<doris::vectorized::IDataType const> const&) const
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/function.h:296:47
#7 0x55dbde3d727f in
doris::vectorized::SimpleFunctionFactory::get_function(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>> const&,
std::vector<doris::vectorized::ColumnWithTypeAndName,
std::allocator<doris::vectorized::ColumnWithTypeAndName>> const&,
std::shared_ptr<doris::vectorized::IDataType const> const&, int)
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/functions/simple_function_factory.h:193:32
#8 0x55dc04984b4d in
doris::vectorized::VectorizedFnCall::prepare(doris::RuntimeState*,
doris::RowDescriptor const&, doris::vectorized::VExprContext*)
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/exprs/vectorized_fn_call.cpp:111:55
#9 0x55dc04ab9b7a in
doris::vectorized::VExprContext::prepare(doris::RuntimeState*,
doris::RowDescriptor const&)
/mnt/disk1/wangqiannan/amory/doris/be/src/vec/exprs/vexpr_context.cpp:64:5
#10 0x55dbdf625845 in doris::Status
doris::FoldConstantExecutor::_prepare_and_open<doris::vectorized::VExprContext>(doris::vectorized::VExprContext*)
/mnt/disk1/wangqiannan/amory/doris/be/src/runtime/fold_constant_executor.cpp:185:5
#11 0x55dbdf60db76 in
doris::FoldConstantExecutor::fold_constant_vexpr(doris::TFoldConstantParams
const&, doris::PConstantExprResult*)
/mnt/disk1/wangqiannan/amory/doris/be/src/runtime/fold_constant_executor.cpp:94:13
#12 0x55dbdf4f58d6 in
doris::PInternalService::_fold_constant_expr(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>> const&,
doris::PConstantExprResult*)
/mnt/disk1/wangqiannan/amory/doris/be/src/service/internal_service.cpp:1498:5
#13 0x55dbdf544e3e in
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0::operator()() const
/mnt/disk1/wangqiannan/amory/doris/be/src/service/internal_service.cpp:1476:14
#14 0x55dbdf54431e in void std::__invoke_impl<void,
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0&>(std::__invoke_other,
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0&)
/mnt/disk1/wangqiannan/tool/ldb_toolchain_16/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
#15 0x55dbdf54425e in std::enable_if<is_invocable_r_v<void,
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0&>, void>::type std::__invoke_r<void,
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0&>(doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0&)
/mnt/disk1/wangqiannan/tool/ldb_toolchain_16/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
#16 0x55dbdf543f35 in std::_Function_handler<void (),
doris::PInternalService::fold_constant_expr(google::protobuf::RpcController*,
doris::PConstantExprRequest const*, doris::PConstantExprResult*,
google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&)
/mnt/disk1/wangqiannan/tool/ldb_toolchain_16/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
#17 0x55dbd8cd425a in std::function<void ()>::operator()() const
/mnt/disk1/wangqiannan/tool/ldb_toolchain_16/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
#18 0x55dbdf59ee14 in doris::WorkThreadPool<false>::work_thread(int)
/mnt/disk1/wangqiannan/amory/doris/be/src/util/work_thread_pool.hpp:158:17
@@@
```
Issue Number: close #xxx
<!--Describe your changes.-->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]