【Doris 使用环境】生产
【Doris 版本】1.2.3修复版
【问题描述】
报错信息:
start time: Wed Mar 29 18:37:19 CST 2023
*** Query id: 8dac705a7d9144c5-bf0baabef8b9aba3 ***
*** Aborted at 1680500022 (unix time) try “date -d @1680500022” if you are using GNU date ***
*** Current BE git commitID: 7626eb8e40 ***
*** SIGSEGV address not mapped to object (@0x0) received by PID 38773 (TID 0x7f2af6c78700) from PID 0; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/common/signal_handler.h:420
1# os::Linux::chained_handler(int, siginfo*, void*) in /usr/local/jdk1.8.0_162/jre/lib/amd64/server/libjvm.so
2# JVM_handle_linux_signal in /usr/local/jdk1.8.0_162/jre/lib/amd64/server/libjvm.so
3# signalHandler(int, siginfo*, void*) in /usr/local/jdk1.8.0_162/jre/lib/amd64/server/libjvm.so
4# 0x00007F2CD973E400 in /lib64/libc.so.6
5# jni_GetArrayLength in /usr/local/jdk1.8.0_162/jre/lib/amd64/server/libjvm.so
6# doris::vectorized::AggregateJavaUdafData::write(doris::vectorized::BufferWritable&, long) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/vec/aggregate_functions/aggregate_function_java_udaf.h:177
7# doris::vectorized::IAggregateFunctionHelperdoris::vectorized::AggregateJavaUdaf::serialize_to_column(std::vector<char*, std::allocator<char*> > const&, unsigned long, COWdoris::vectorized::IColumn::mutable_ptrdoris::vectorized::IColumn&, unsigned long) const at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/vec/aggregate_functions/aggregate_function.h:306
8# void doris::vectorized::AggregationNode::_serialize_with_serialized_key_result(doris::RuntimeState*, doris::vectorized::Block*, bool*)::{lambda(auto:1&&)#1}::operator()<doris::vectorized::AggregationMethodSingleNullableColumn<doris::vectorized::AggregationMethodOneNumber<unsigned long, doris::vectorized::AggregationDataWithNullKey<PHHashMap<unsigned long, char*, HashCRC32, false> >, false> >&>(doris::vectorized::AggregationMethodSingleNullableColumn<doris::vectorized::AggregationMethodOneNumber<unsigned long, doris::vectorized::AggregationDataWithNullKey<PHHashMap<unsigned long, char*, HashCRC32, false> >, false> >&) const at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/vec/exec/vaggregation_node.cpp:1211
9# doris::vectorized::AggregationNode::_serialize_with_serialized_key_result(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/vec/exec/vaggregation_node.cpp:1294
10# std::_Function_handler<doris::Status (doris::RuntimeState*, doris::vectorized::Block*, bool*), std::_Bind_result<doris::Status, doris::Status (doris::vectorized::AggregationNode::(doris::vectorized::AggregationNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)> >::_M_invoke(std::_Any_data const&, doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&) at /mnt/disk2/liyuanyuan/ldb/ldb_toolchain/include/c++/11/bits/std_function.h:293
11# doris::vectorized::AggregationNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/vec/exec/vaggregation_node.cpp:508
12# doris::ExecNode::get_next_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/exec/exec_node.cpp:852
13# doris::PlanFragmentExecutor::get_vectorized_internal(doris::vectorized::Block**) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/runtime/plan_fragment_executor.cpp:358
14# doris::PlanFragmentExecutor::open_vectorized_internal() at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/runtime/plan_fragment_executor.cpp:306
15# doris::PlanFragmentExecutor::open() at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/runtime/plan_fragment_executor.cpp:259
16# doris::FragmentExecState::execute() at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/runtime/fragment_mgr.cpp:258
17# doris::FragmentMgr::_exec_actual(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/runtime/fragment_mgr.cpp:505
18# std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::PlanFragmentExecutor*)>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) at /mnt/disk2/liyuanyuan/ldb/ldb_toolchain/include/c++/11/bits/std_function.h:291
19# doris::ThreadPool::dispatch_thread() at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/util/threadpool.cpp:543
20# doris::supervise_thread(void*) at /mnt/disk2/liyuanyuan/doris/1.2.3/doris/be/src/util/thread.cpp:455
21# start_thread in /lib64/libpthread.so.0
22# clone in /lib64/libc.so.6
start time: Mon Apr 3 13:36:16 CST 2023
具体表现:执行自定义java udaf函数,be宕机
创建udaf:
CREATE AGGREGATE FUNCTION sigo_window_funnel(BigInt,Int,String,int,int,BigInt,String,String) RETURNS INT PROPERTIES (
“file”=“”,
“symbol”=“windowFunnel.SigoWindowFunnel”,
“always_nullable”=“true”,
“type”=“JAVA_UDF”
);
文件地址忽略
【操作系统】
【机器配置】16c 64g
【复现路径】执行udaf函数