You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "xinyiZzz (via GitHub)" <gi...@apache.org> on 2023/06/06 09:55:56 UTC

[GitHub] [doris] xinyiZzz commented on pull request #20482: [improvement](sink) reuse rows buffer in msyql_result_writer

xinyiZzz commented on PR #20482:
URL: https://github.com/apache/doris/pull/20482#issuecomment-1578326570

   ```
   start time: 2023年 06月 06日 星期二 17:50:28 CST
   =================================================================
   ==2436538==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f490f361818 at pc 0x55937294fed6 bp 0x7f4ad3bcb1c0 sp 0x7f4ad3bcb1b0
   WRITE of size 1 at 0x7f490f361818 thread T452 (FragmentMgrThre)
       #0 0x55937294fed5 in pack_vlen /mnt/disk2/liyifan/doris/core/be/src/util/mysql_row_buffer.cpp:53
       #1 0x55937295738a in doris::MysqlRowBuffer<false>::push_string(char const*, long) /mnt/disk2/liyifan/doris/core/be/src/util/mysql_row_buffer.cpp:521
       #2 0x55937c8382d4 in doris::Status doris::vectorized::DataTypeStringSerDe::_write_column_to_mysql<false>(doris::vectorized::IColumn const&, bool, std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >&, int, int, int, bool) const /mnt/disk2/liyifan/doris/core/be/src/vec/data_types/serde/data_type_string_serde.cpp:148
       #3 0x55937c83691e in doris::vectorized::DataTypeStringSerDe::write_column_to_mysql(doris::vectorized::IColumn const&, bool, std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >&, int, int, int, bool) const /mnt/disk2/liyifan/doris/core/be/src/vec/data_types/serde/data_type_string_serde.h:53
       #4 0x55937c89204d in doris::Status doris::vectorized::DataTypeNullableSerDe::_write_column_to_mysql<false>(doris::vectorized::IColumn const&, bool, std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >&, int, int, int, bool) const /mnt/disk2/liyifan/doris/core/be/src/vec/data_types/serde/data_type_nullable_serde.cpp:151
       #5 0x55937c891c8a in doris::vectorized::DataTypeNullableSerDe::write_column_to_mysql(doris::vectorized::IColumn const&, bool, std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >&, int, int, int, bool) const /mnt/disk2/liyifan/doris/core/be/src/vec/data_types/serde/data_type_nullable_serde.h:55
       #6 0x5593726bf0f4 in doris::vectorized::VMysqlResultWriter<false>::append_block(doris::vectorized::Block&) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vmysql_result_writer.cpp:635
       #7 0x5593896206d5 in doris::vectorized::VResultSink::send(doris::RuntimeState*, doris::vectorized::Block*, bool) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vresult_sink.cpp:130
       #8 0x5593722de3ef in doris::PlanFragmentExecutor::open_vectorized_internal() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:322
       #9 0x5593722dd079 in doris::PlanFragmentExecutor::open() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:265
       #10 0x5593722471a9 in doris::FragmentExecState::execute() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:262
       #11 0x559372250043 in doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::RuntimeState*, doris::Status*)> const&) /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:526
       #12 0x5593722530c1 in operator() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:818
       #13 0x55937226510b in __invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #14 0x559372264be8 in __invoke_r<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #15 0x55937226447b in _M_invoke /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #16 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #17 0x559372a19041 in doris::FunctionRunnable::run() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:48
       #18 0x559372a141f9 in doris::ThreadPool::dispatch_thread() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:531
       #19 0x559372a34ac1 in void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:74
       #20 0x559372a3476a in std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:96
       #21 0x559372a33541 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:420
       #22 0x559372a32514 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:503
       #23 0x559372a2fefb in void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #24 0x559372a2c333 in 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*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #25 0x559372a27c8e in std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #26 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #27 0x5593729f5d2f in doris::Thread::supervise_thread(void*) /mnt/disk2/liyifan/doris/core/be/src/util/thread.cpp:465
       #28 0x7f4bbdc71179 in start_thread (/lib64/libpthread.so.0+0x8179)
       #29 0x7f4bbd61edf2 in __GI___clone (/lib64/libc.so.6+0xfcdf2)
   
   0x7f490f361818 is located 24 bytes inside of 4144000-byte region [0x7f490f361800,0x7f490f755380)
   freed by thread T452 (FragmentMgrThre) here:
       #0 0x55936fd93767 in operator delete(void*, unsigned long) (/mnt/disk2/liyifan/doris/core/output_run/be/lib/doris_be+0x1bbcc767)
       #1 0x5593726d7785 in __gnu_cxx::new_allocator<doris::MysqlRowBuffer<false> >::deallocate(doris::MysqlRowBuffer<false>*, unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/ext/new_allocator.h:139
       #2 0x5593726d4638 in std::allocator<doris::MysqlRowBuffer<false> >::deallocate(doris::MysqlRowBuffer<false>*, unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/allocator.h:187
       #3 0x5593726d4638 in std::allocator_traits<std::allocator<doris::MysqlRowBuffer<false> > >::deallocate(std::allocator<doris::MysqlRowBuffer<false> >&, doris::MysqlRowBuffer<false>*, unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/alloc_traits.h:492
       #4 0x5593726d0ae5 in std::_Vector_base<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::_M_deallocate(doris::MysqlRowBuffer<false>*, unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/stl_vector.h:354
       #5 0x5593726d0deb in std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::_M_default_append(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/vector.tcc:675
       #6 0x5593726ce03a in std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::resize(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/stl_vector.h:940
       #7 0x5593726be6eb in doris::vectorized::VMysqlResultWriter<false>::append_block(doris::vectorized::Block&) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vmysql_result_writer.cpp:617
       #8 0x5593896206d5 in doris::vectorized::VResultSink::send(doris::RuntimeState*, doris::vectorized::Block*, bool) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vresult_sink.cpp:130
       #9 0x5593722de3ef in doris::PlanFragmentExecutor::open_vectorized_internal() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:322
       #10 0x5593722dd079 in doris::PlanFragmentExecutor::open() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:265
       #11 0x5593722471a9 in doris::FragmentExecState::execute() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:262
       #12 0x559372250043 in doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::RuntimeState*, doris::Status*)> const&) /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:526
       #13 0x5593722530c1 in operator() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:818
       #14 0x55937226510b in __invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #15 0x559372264be8 in __invoke_r<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #16 0x55937226447b in _M_invoke /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #17 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #18 0x559372a19041 in doris::FunctionRunnable::run() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:48
       #19 0x559372a141f9 in doris::ThreadPool::dispatch_thread() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:531
       #20 0x559372a34ac1 in void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:74
       #21 0x559372a3476a in std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:96
       #22 0x559372a33541 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:420
       #23 0x559372a32514 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:503
       #24 0x559372a2fefb in void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #25 0x559372a2c333 in 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*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #26 0x559372a27c8e in std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #27 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #28 0x5593729f5d2f in doris::Thread::supervise_thread(void*) /mnt/disk2/liyifan/doris/core/be/src/util/thread.cpp:465
       #29 0x7f4bbdc71179 in start_thread (/lib64/libpthread.so.0+0x8179)
   
   previously allocated by thread T452 (FragmentMgrThre) here:
       #0 0x55936fd92707 in operator new(unsigned long) (/mnt/disk2/liyifan/doris/core/output_run/be/lib/doris_be+0x1bbcb707)
       #1 0x5593726d87e6 in __gnu_cxx::new_allocator<doris::MysqlRowBuffer<false> >::allocate(unsigned long, void const*) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/ext/new_allocator.h:121
       #2 0x5593726d652c in std::allocator<doris::MysqlRowBuffer<false> >::allocate(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/allocator.h:173
       #3 0x5593726d652c in std::allocator_traits<std::allocator<doris::MysqlRowBuffer<false> > >::allocate(std::allocator<doris::MysqlRowBuffer<false> >&, unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/alloc_traits.h:460
       #4 0x5593726d494f in std::_Vector_base<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::_M_allocate(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/stl_vector.h:346
       #5 0x5593726d0cbb in std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::_M_default_append(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/vector.tcc:635
       #6 0x5593726ce03a in std::vector<doris::MysqlRowBuffer<false>, std::allocator<doris::MysqlRowBuffer<false> > >::resize(unsigned long) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/stl_vector.h:940
       #7 0x5593726be6eb in doris::vectorized::VMysqlResultWriter<false>::append_block(doris::vectorized::Block&) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vmysql_result_writer.cpp:617
       #8 0x5593896206d5 in doris::vectorized::VResultSink::send(doris::RuntimeState*, doris::vectorized::Block*, bool) /mnt/disk2/liyifan/doris/core/be/src/vec/sink/vresult_sink.cpp:130
       #9 0x5593722de3ef in doris::PlanFragmentExecutor::open_vectorized_internal() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:322
       #10 0x5593722dd079 in doris::PlanFragmentExecutor::open() /mnt/disk2/liyifan/doris/core/be/src/runtime/plan_fragment_executor.cpp:265
       #11 0x5593722471a9 in doris::FragmentExecState::execute() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:262
       #12 0x559372250043 in doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::RuntimeState*, doris::Status*)> const&) /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:526
       #13 0x5593722530c1 in operator() /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:818
       #14 0x55937226510b in __invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #15 0x559372264be8 in __invoke_r<void, doris::FragmentMgr::exec_plan_fragment(const doris::TExecPlanFragmentParams&, const FinishCallback&)::<lambda()>&> /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #16 0x55937226447b in _M_invoke /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #17 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #18 0x559372a19041 in doris::FunctionRunnable::run() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:48
       #19 0x559372a141f9 in doris::ThreadPool::dispatch_thread() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:531
       #20 0x559372a34ac1 in void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:74
       #21 0x559372a3476a in std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:96
       #22 0x559372a33541 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:420
       #23 0x559372a32514 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/functional:503
       #24 0x559372a2fefb in void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:61
       #25 0x559372a2c333 in 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*))()>&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/invoke.h:111
       #26 0x559372a27c8e in std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:291
       #27 0x55936fec111b in std::function<void ()>::operator()() const /mnt/disk2/liyifan/doris/ldb_toolchain/include/c++/11/bits/std_function.h:560
       #28 0x5593729f5d2f in doris::Thread::supervise_thread(void*) /mnt/disk2/liyifan/doris/core/be/src/util/thread.cpp:465
       #29 0x7f4bbdc71179 in start_thread (/lib64/libpthread.so.0+0x8179)
   
   Thread T452 (FragmentMgrThre) created by T0 here:
       #0 0x55936fd35061 in pthread_create (/mnt/disk2/liyifan/doris/core/output_run/be/lib/doris_be+0x1bb6e061)
       #1 0x5593729f510b in doris::Thread::start_thread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void ()> const&, unsigned long, scoped_refptr<doris::Thread>*) /mnt/disk2/liyifan/doris/core/be/src/util/thread.cpp:419
       #2 0x559372a1cbc3 in doris::Status doris::Thread::create<void (doris::ThreadPool::*)(), doris::ThreadPool*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (doris::ThreadPool::* const&)(), doris::ThreadPool* const&, scoped_refptr<doris::Thread>*) /mnt/disk2/liyifan/doris/core/be/src/util/thread.h:56
       #3 0x559372a159fc in doris::ThreadPool::create_thread() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:600
       #4 0x559372a0f47b in doris::ThreadPool::init() /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.cpp:259
       #5 0x55936ffd9279 in doris::Status doris::ThreadPoolBuilder::build<doris::ThreadPool>(std::unique_ptr<doris::ThreadPool, std::default_delete<doris::ThreadPool> >*) const /mnt/disk2/liyifan/doris/core/be/src/util/threadpool.h:119
       #6 0x559372249d86 in doris::FragmentMgr::FragmentMgr(doris::ExecEnv*) /mnt/disk2/liyifan/doris/core/be/src/runtime/fragment_mgr.cpp:328
       #7 0x559372099ff1 in doris::ExecEnv::_init(std::vector<doris::StorePath, std::allocator<doris::StorePath> > const&) /mnt/disk2/liyifan/doris/core/be/src/runtime/exec_env_init.cpp:150
       #8 0x55937209901d in doris::ExecEnv::init(doris::ExecEnv*, std::vector<doris::StorePath, std::allocator<doris::StorePath> > const&) /mnt/disk2/liyifan/doris/core/be/src/runtime/exec_env_init.cpp:98
       #9 0x55936fde28c2 in main /mnt/disk2/liyifan/doris/core/be/src/service/doris_main.cpp:432
       #10 0x7f4bbd545492 in __libc_start_main (/lib64/libc.so.6+0x23492)
   
   SUMMARY: AddressSanitizer: heap-use-after-free /mnt/disk2/liyifan/doris/core/be/src/util/mysql_row_buffer.cpp:53 in pack_vlen
   Shadow bytes around the buggy address:
     0x0fe9a1e642b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
     0x0fe9a1e642c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
     0x0fe9a1e642d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
     0x0fe9a1e642e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
     0x0fe9a1e642f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
   =>0x0fe9a1e64300: fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd
     0x0fe9a1e64310: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
     0x0fe9a1e64320: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
     0x0fe9a1e64330: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
     0x0fe9a1e64340: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
     0x0fe9a1e64350: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
   Shadow byte legend (one shadow byte represents 8 application bytes):
     Addressable:           00
     Partially addressable: 01 02 03 04 05 06 07
     Heap left redzone:       fa
     Freed heap region:       fd
     Stack left redzone:      f1
     Stack mid redzone:       f2
     Stack right redzone:     f3
     Stack after return:      f5
     Stack use after scope:   f8
     Global redzone:          f9
     Global init order:       f6
     Poisoned by user:        f7
     Container overflow:      fc
     Array cookie:            ac
     Intra object redzone:    bb
     ASan internal:           fe
     Left alloca redzone:     ca
     Right alloca redzone:    cb
     Shadow gap:              cc
   ==2436538==ABORTING
   ```


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org