carlvinhust2012 opened a new pull request, #13514: URL: https://github.com/apache/doris/pull/13514
# Proposed changes 1. this pr is used to fix the be core dump when select the invalid array. 2. before the change, we run "select array_intersect([1, 2, 3, 1, 2, 3], '1[3, 2, 5]');" will cause be core dump. MySQL [example_db]> select array_intersect([1, 2, 3, 1, 2, 3], '1[3, 2, 5]'); ERROR 1105 (HY000): RpcException, msg: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason 3. after the change, we run "select array_intersect([1, 2, 3, 1, 2, 3], '1[3, 2, 5]');" will get error message. MySQL [example_db]> select array_intersect([1, 2, 3, 1, 2, 3], '1[3, 2, 5]'); ERROR 1105 (HY000): errCode = 2, detailMessage = Array does not start with '[' character, found '1' Issue Number: #7570 the be core dump stack: start time: Thu Oct 20 15:23:44 CST 2022 *** Query id: ff34085b3e1541a1-863d31b87029665f *** *** Aborted at 1666250639 (unix time) try "date -d @1666250639" if you are using GNU date *** *** Current BE git commitID: b5cd16771 *** *** SIGSEGV invalid permissions for mapped object (@0x55d7ec505760) received by PID 36426 (TID 0x7fb5371ff700) from PID 18446744073379272544; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/common/signal_handler.h:420 1# 0x00007FB61750F920 in /lib64/libc.so.6 2# doris::vectorized::VExpr::get_const_col(doris::vectorized::VExprContext*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/vec/exprs/vexpr.cpp:330 3# doris::vectorized::VExpr::init_function_context(doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope, std::shared_ptr<doris::vectorized::IFunctionBase> const&) const at /home/disk1/h ugo_work/doris_dev/baidu/bdg/doris/core/be/src/vec/exprs/vexpr.cpp:351 4# doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/v ec/exprs/vectorized_fn_call.cpp:73 5# doris::vectorized::VExprContext::open(doris::RuntimeState*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/vec/exprs/vexpr_context.cpp:66 6# doris::vectorized::VExpr::open(std::vector<doris::vectorized::VExprContext*, std::allocator<doris::vectorized::VExprContext*> > const&, doris::RuntimeState*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/vec/exprs/vexpr.cpp:245 7# doris::vectorized::VUnionNode::open(doris::RuntimeState*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/vec/exec/vunion_node.cpp:85 8# doris::PlanFragmentExecutor::open_vectorized_internal() at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:280 9# doris::PlanFragmentExecutor::open() at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:252 10# doris::FragmentExecState::execute() at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:253 11# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:499 12# 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 /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/palo-toolchain/ldb_toolchain/include/c++/11/bits/std_function.h:291 13# doris::ThreadPool::dispatch_thread() at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/util/threadpool.cpp:548 14# doris::Thread::supervise_thread(void*) at /home/disk1/hugo_work/doris_dev/baidu/bdg/doris/core/be/src/util/thread.cpp:455 15# start_thread in /lib64/libpthread.so.0 16# clone in /lib64/libc.so.6 ## Problem summary Describe your changes. ## Checklist(Required) 1. Does it affect the original behavior: - [ ] Yes - [ ] No - [ ] I don't know 5. Has unit tests been added: - [ ] Yes - [ ] No - [ ] No Need 6. Has document been added or modified: - [ ] Yes - [ ] No - [ ] No Need 7. Does it need to update dependencies: - [ ] Yes - [ ] No 8. Are there any changes that cannot be rolled back: - [ ] Yes (If Yes, please explain WHY) - [ ] No ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you chose the solution you did and what alternatives you considered, etc... -- 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