BiteTheDDDDt opened a new issue #8619:
URL: https://github.com/apache/incubator-doris/issues/8619


   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and 
found no similar issues.
   
   
   ### Version
   
   master
   
   ### What's Wrong?
   
   core dump on deep_copy_tuple when data is null
   
   ```cpp
   *** Aborted at 1648035535 (unix time) try "date -d @1648035535" if you are 
using GNU date ***
   *** SIGSEGV address not mapped to object (@0x0) received by PID 73459 (TID 
0x7fbff9397700) from PID 0; stack trace: ***
    0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/common/signal_handler.h:420
    1# 0x000000318AE32920 in /lib64/libc.so.6
    2# doris::vectorized::Block::deep_copy_slot(void*, doris::MemPool*, 
doris::TypeDescriptor const&, StringRef const&, doris::vectorized::IColumn 
const*, int, bool) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/core/block.cpp:779
    3# doris::vectorized::Block::deep_copy_tuple(doris::TupleDescriptor const&, 
doris::MemPool*, int, int, bool) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/core/block.cpp:707
    4# 
doris::stream_load::NodeChannel::add_row(std::pair<doris::vectorized::Block*, 
int>&, long) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/exec/tablet_sink.cpp:344
    5# 
doris::stream_load::IndexChannel::add_row(std::pair<doris::vectorized::Block*, 
int>&, long) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/exec/tablet_sink.cpp:617
    6# doris::stream_load::VOlapTableSink::send(doris::RuntimeState*, 
doris::vectorized::Block*) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/sink/vtablet_sink.cpp:142
    7# doris::PlanFragmentExecutor::open_vectorized_internal() at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:292
    8# doris::PlanFragmentExecutor::open() at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:236
    9# doris::FragmentExecState::execute() at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:232
   10# 
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:474
   11# void std::__invoke_impl<void, void 
(doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, 
std::shared_ptr<doris::FragmentExecState>&, std::function<void 
(doris::PlanFragmentExecutor*)>&>(std::__invoke_memfun_deref, void 
(doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, 
std::shared_ptr<doris::FragmentExecState>&, std::function<void 
(doris::PlanFragmentExecutor*)>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74
   12# std::enable_if<is_invocable_r_v<void, void 
(doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, 
std::shared_ptr<doris::FragmentExecState>&, std::function<void 
(doris::PlanFragmentExecutor*)>&>, void>::type std::__invoke_r<void, void 
(doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, 
std::shared_ptr<doris::FragmentExecState>&, std::function<void 
(doris::PlanFragmentExecutor*)>&>(void 
(doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, 
std::shared_ptr<doris::FragmentExecState>&, std::function<void 
(doris::PlanFragmentExecutor*)>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   13# void std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>::__call<void, , 0ul, 1ul, 
2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570
   14# void std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>::operator()<>() at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629
   15# void std::__invoke_impl<void, std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::__invoke_other, 
std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   16# std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>&>, void>::type 
std::__invoke_r<void, std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::_Bind_result<void, 
void (doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   17# std::_Function_handler<void (), std::_Bind_result<void, void 
(doris::FragmentMgr::*(doris::FragmentMgr*, 
std::shared_ptr<doris::FragmentExecState>, std::function<void 
(doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::PlanFragmentExecutor*)>)> 
>::_M_invoke(std::_Any_data const&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   18# std::function<void ()>::operator()() const at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   19# doris::FunctionRunnable::run() at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/threadpool.cpp:42
   20# doris::ThreadPool::dispatch_thread() at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/threadpool.cpp:570
   21# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>(std::__invoke_memfun_deref, void 
(doris::ThreadPool::*&)(), doris::ThreadPool*&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74
   22# std::__invoke_result<void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96
   23# void std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420
   24# void std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:503
   25# void std::__invoke_impl<void, std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, 
std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   26# std::enable_if<is_invocable_r_v<void, std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type 
std::__invoke_r<void, std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   27# std::_Function_handler<void (), std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data 
const&) at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   28# std::function<void ()>::operator()() const at 
/home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   29# doris::Thread::supervise_thread(void*) at 
/home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/thread.cpp:402
   30# start_thread in /lib64/libpthread.so.0
   31# clone in /lib64/libc.so.6
   ```
   
   ### What You Expected?
   
   fix
   
   ### 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
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to