apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.73k stars 3.28k forks source link

[Bug] regexp_extract_all execute empty string will make be shutdown #43357

Open ScalaFirst opened 1 week ago

ScalaFirst commented 1 week ago

Search before asking

Version

1.2.7

What's Wrong?

regexp_extract_all execute empty string will make be shutdown. return error_message: org,apache,doris,rpc,RpcException: io.grpc.StatusRuntimeException:UNAVAILABLE: io exception

be.out crash: Query id: 3a3b60d21a434359-a0ca62685f1d7ada Aborted at 1730882873 (unix time) try "date -d @1730882873" if you are using GNU date Current BE git commitID: Unknown SIGSEGV address not mapped to object (@0x55e4a38ff000) received by PID 1855185 (TID 0x7f2c677ff700) from PID 18446744072158703616; stack trace: 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t, void) at /root/doris/be/src/common/signal_handler.h:420 1# os::Linux::chained_handler(int, siginfo, void) in /usr/local/java/jre/lib/amd64/server/libjvm.so 2# JVM_handle_linux_signal in /usr/local/java/jre/lib/amd64/server/libjvm.so 3# signalHandler(int, siginfo, void) in /usr/local/java/jre/lib/amd64/server/libjvm.so 4# 0x00007F3DB53BC630 in /lib64/libc.so.6 5# memcpy at /root/doris/be/src/glibc-compatibility/memcpy/memcpy_x86_64.cpp:219 6# doris::vectorized::ColumnString::insert_range_from(doris::vectorized::IColumn const&, unsigned long, unsigned long) at /root/doris/be/src/vec/columns/column_string.cpp:88 7# doris::vectorized::ColumnNullable::insert_range_from(doris::vectorized::IColumn const&, unsigned long, unsigned long) at /root/doris/be/src/vec/columns/column_nullable.cpp:282 8# void doris::vectorized::MutableBlock::merge<doris::vectorized::Block&>(doris::vectorized::Block&) at /root/doris/be/src/vec/core/block.h:486 9# doris::vectorized::VUnionNode::get_next_const(doris::RuntimeState, doris::vectorized::Block) at /root/doris/be/src/vec/exec/vunion_node.cpp:205 10# doris::vectorized::VUnionNode::get_next(doris::RuntimeState, doris::vectorized::Block, bool) at /root/doris/be/src/vec/exec/vunion_node.cpp:245 11# doris::ExecNode::get_next_after_projects(doris::RuntimeState, doris::vectorized::Block, bool) at /root/doris/be/src/exec/exec_node.cpp:855 12# doris::PlanFragmentExecutor::get_vectorized_internal(doris::vectorized::Block*) at /root/doris/be/src/runtime/plan_fragment_executor.cpp:360 13# doris::PlanFragmentExecutor::open_vectorized_internal() at /root/doris/be/src/runtime/plan_fragment_executor.cpp:308 14# doris::PlanFragmentExecutor::open() at /root/doris/be/src/runtime/plan_fragment_executor.cpp:261 15# doris::FragmentExecState::execute() at /root/doris/be/src/runtime/fragment_mgr.cpp:261 16# doris::FragmentMgr::_exec_actual(std::shared_ptr, std::function<void (doris::PlanFragmentExecutor)>) at /root/doris/be/src/runtime/fragment_mgr.cpp:509 17# 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 /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 18# doris::ThreadPool::dispatch_thread() at /root/doris/be/src/util/threadpool.cpp:543 19# doris::Thread::supervise_thread(void) at /root/doris/be/src/util/thread.cpp:455 20# 0x00007F3DB536AF2B in /lib64/libpthread.so.0 21# __clone in /lib64/libc.so.6

What You Expected?

tell me why happended, and how to repair.

How to Reproduce?

execute sql: select regexp_extract_all('','"task-id":\s*"([^"]+)"')

Anything Else?

No response

Are you willing to submit PR?

Code of Conduct

ixzc commented 1 week ago

this issue has been fixed, you can upgrade your doris to 2.0.15 version or 2.1.7