doris icon indicating copy to clipboard operation
doris copied to clipboard

[Bug] BE Crash while sql executing and is non-reproducible

Open TomaYoko opened this issue 10 months ago • 0 comments

Search before asking

  • [X] I had searched in the issues and found no similar issues.

Version

2.0.3

What's Wrong?

be crash

#0 0x00007fd88d764387 in raise () from /lib64/libc.so.6 #1 0x00007fd88d765a78 in abort () from /lib64/libc.so.6 #2 0x0000558f46bc1bca in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #3 0x0000558f46bc0336 in __cxxabiv1::__terminate (handler=) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #4 0x0000558f46bc03a1 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58 #5 0x0000558f46bc04f4 in __cxxabiv1::__cxa_throw (obj=, tinfo=0x558f47289cd0 , dest=0x558f46bcef40 std::runtime_error::~runtime_error()) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:95 #6 0x0000558f43beb9f7 in doris::vectorized::BlockSupplierSortCursorImpl::has_next_block (this=0x7fd0e6b6b8c0) at /root/doris/be/src/vec/core/sort_cursor.h:254 #7 0x0000558f43beac7b in doris::vectorized::VSortedRunMerger::has_next_block (this=this@entry=0x7fd200be9240, current=...) at /root/doris/be/src/vec/runtime/vsorted_run_merger.cpp:232 #8 0x0000558f43be991a in doris::vectorized::VSortedRunMerger::next_heap (this=0x7fd200be9240, current=...) at /root/doris/be/src/vec/runtime/vsorted_run_merger.cpp:224 #9 doris::vectorized::VSortedRunMerger::get_next (this=0x7fd200be9240, output_block=0x7f895eb125d0, eos=0x7fd4a0dace71) at /root/doris/be/src/vec/runtime/vsorted_run_merger.cpp:193 #10 0x0000558f43bc7df4 in doris::vectorized::VDataStreamRecvr::get_next (this=0x7fd85e93ad80, block=0x7f895eb125d0, eos=0x7fd4a0dace71) at /root/doris/be/src/vec/runtime/vdata_stream_recvr.cpp:406 #11 0x0000558f40491809 in doris::vectorized::VExchangeNode::get_next (this=0x7fd5fab94400, state=0x7fd4a0e78200, block=0x7f895eb125d0, eos=0x7fd4a0dace71) at /root/doris/be/src/vec/exec/vexchange_node.cpp:106 #12 0x0000558f3c524e71 in std::__invoke_impl<doris::Status, doris::Status (doris::ExecNode::&)(doris::RuntimeState, doris::vectorized::Block*, bool*), doris::ExecNode*&, doris::RuntimeState*, doris::vectorized::Block*, bool*> (__f=, __t=, __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74 #13 std::__invoke<doris::Status (doris::ExecNode::&)(doris::RuntimeState, doris::vectorized::Block*, bool*), doris::ExecNode*&, doris::RuntimeState*, doris::vectorized::Block*, bool*> (__fn=, __args=, __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96 #14 std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>::__call<doris::Status, doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&, 0ul, 1ul, 2ul, 3ul>(std::tuple<doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) (this=, __args=...) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420 --Type <RET> for more, q to quit, c to continue without paging-- #15 std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>::operator()<doris::RuntimeState*, doris::vectorized::Block*, bool*, doris::Status>(doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&) (this=, __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:503 #16 std::__invoke_impl<doris::Status, std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>&, doris::RuntimeState*, doris::vectorized::Block*, bool*>(std::__invoke_other, std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>&, doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&) (__f=..., __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 #17 std::__invoke_r<doris::Status, std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>&, doris::RuntimeState*, doris::vectorized::Block*, bool*>(std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>))(doris::RuntimeState*, doris::vectorized::Block*, bool*)>&, doris::RuntimeState*&&, doris::vectorized::Block*&&, bool*&&) (__fn=..., __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:114 #18 std::_Function_handler<doris::Status (doris::RuntimeState*, doris::vectorized::Block*, bool*), std::_Bind<doris::Status (doris::ExecNode::(doris::ExecNode, 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*&&) (__functor=..., __args=, __args=, __args=) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 #19 0x0000558f3c5287d9 in std::function<doris::Status (doris::RuntimeState*, doris::vectorized::Block*, bool*)>::operator()(doris::RuntimeState*, doris::vectorized::Block*, bool*) const (this=0x7f895eb12520, __args=0x7fd4a0dace71, __args=0x7fd4a0dace71, __args=0x7fd4a0dace71) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560 #20 doris::ExecNode::get_next_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*, std::function<doris::Status (doris::RuntimeState*, doris::vectorized::Block*, bool*)> const&, bool) (this=0x7fd5fab94400, state=0x7fd4a0e78200, block=0x7f895eb125d0, eos=, func=..., clear_data=) at /root/doris/be/src/exec/exec_node.cpp:589 #21 0x0000558f3c5222a2 in doris::PlanFragmentExecutor::get_vectorized_internal (this=this@entry=0x7fd4a0dacd78, block=block@entry=0x7f895eb125d0, eos=eos@entry=0x7f895eb126d7) at /root/doris/be/src/runtime/plan_fragment_executor.cpp:353 #22 0x0000558f3c521bd0 in doris::PlanFragmentExecutor::open_vectorized_internal (this=this@entry=0x7fd4a0dacd78) --Type <RET> for more, q to quit, c to continue without paging-- at /root/doris/be/src/runtime/plan_fragment_executor.cpp:324 #23 0x0000558f3c520ef6 in doris::PlanFragmentExecutor::open (this=0x7fd4a0dacd78) at /root/doris/be/src/runtime/plan_fragment_executor.cpp:262 #24 0x0000558f3c4a42e1 in doris::FragmentExecState::execute (this=0x7fd4a0dacd00) at /root/doris/be/src/runtime/fragment_mgr.cpp:264 #25 0x0000558f3c4a8b1d in doris::FragmentMgr::_exec_actual(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::RuntimeState*, doris::Status*)> const&) (this=this@entry=0x7fd86f997000, exec_state=..., cb=...) at /root/doris/be/src/runtime/fragment_mgr.cpp:537 #26 0x0000558f3c4b49d9 in doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0::operator()() const (this=) at /root/doris/be/src/runtime/fragment_mgr.cpp:847 #27 std::__invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&>(std::__invoke_other, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&) (__f=...) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 #28 std::__invoke_r<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&>(doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&,std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&) (__fn=...) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111 #29 std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0>::_M_invoke(std::_Any_data const&) (__functor=...) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 #30 0x0000558f3c70e33f in doris::ThreadPool::dispatch_thread (this=0x7fd86f940a80) at /root/doris/be/src/util/threadpool.cpp:533 #31 0x0000558f3c7042bc in std::function<void ()>::operator()() const (this=0x19a677) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560 #32 doris::Thread::supervise_thread (arg=0x7fd858982dc0) at /root/doris/be/src/util/thread.cpp:498 #33 0x00007fd88cdfdea5 in start_thread () from /lib64/libpthread.so.0 #34 0x00007fd88d82cb0d in clone () from /lib64/libc.so.6

What You Expected?

fix it

How to Reproduce?

No response

Anything Else?

No response

Are you willing to submit PR?

  • [X] Yes I am willing to submit a PR!

Code of Conduct

TomaYoko avatar Apr 30 '24 03:04 TomaYoko