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: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to