HHoflittlefish777 opened a new pull request, #29732:
URL: https://github.com/apache/doris/pull/29732

   ## Proposed changes
    
   ```
   ==10108==ERROR: AddressSanitizer: heap-use-after-free on address 
0x616001578ab8 at pc 0x56375f9e3ccb bp 0x7fb424990cd0 sp 0x7fb424990cc8
   WRITE of size 1 at 0x616001578ab8 thread T1767
       #0 0x56375f9e3cca in std::__atomic_base<bool>::store(bool, 
std::memory_order) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:457:2
       #1 0x56375f9e3cca in std::atomic<bool>::store(bool, std::memory_order) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/atomic:104:15
       #2 0x56375f9e3cca in 
doris::LoadStreamStub::LoadStreamReplyHandler::on_closed(unsigned long) 
/root/doris/be/src/vec/sink/load_stream_stub.cpp:99:16
       #3 0x563762915e3e in brpc::Stream::Consume(void*, 
bthread::TaskIterator<butil::IOBuf*>&) 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x3c049e3e)
 (BuildId: 78bb45ef18070dd2)
       #4 0x563762919460 in 
bthread::ExecutionQueueBase::_execute(bthread::TaskNode*, bool, int*) 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x3c04d460)
 (BuildId: 78bb45ef18070dd2)
       #5 0x56376291976f in bthread::ExecutionQueueBase::_execute_tasks(void*) 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x3c04d76f)
 (BuildId: 78bb45ef18070dd2)
       #6 0x56376277fa64 in bthread::TaskGroup::task_runner(long) 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x3beb3a64)
 (BuildId: 78bb45ef18070dd2)
       #7 0x5637627717f0 in bthread_make_fcontext 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x3bea57f0)
 (BuildId: 78bb45ef18070dd2)
   
   0x616001578ab8 is located 312 bytes inside of 544-byte region 
[0x616001578980,0x616001578ba0)
   freed by thread T348 (FragmentMgrThre) here:
       #0 0x563738f4a80d in operator delete(void*) 
(/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0x1267e80d)
 (BuildId: 78bb45ef18070dd2)
       #1 0x56375fa00a9c in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:168:6
       #2 0x56375fa00a9c in 
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:702:11
       #3 0x56375fa00a9c in std::__shared_ptr<doris::LoadStreamStub, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1149:31
       #4 0x56375fa00a9c in void 
std::destroy_at<std::shared_ptr<doris::LoadStreamStub> 
>(std::shared_ptr<doris::LoadStreamStub>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:88:15
       #5 0x56375fa00a9c in void 
std::_Destroy<std::shared_ptr<doris::LoadStreamStub> 
>(std::shared_ptr<doris::LoadStreamStub>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:138:7
       #6 0x56375fa00a9c in void 
std::_Destroy_aux<false>::__destroy<std::shared_ptr<doris::LoadStreamStub>*>(std::shared_ptr<doris::LoadStreamStub>*,
 std::shared_ptr<doris::LoadStreamStub>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:152:6
       #7 0x56375fa00a9c in void 
std::_Destroy<std::shared_ptr<doris::LoadStreamStub>*>(std::shared_ptr<doris::LoadStreamStub>*,
 std::shared_ptr<doris::LoadStreamStub>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:184:7
       #8 0x56375fa00a9c in void 
std::_Destroy<std::shared_ptr<doris::LoadStreamStub>*, 
std::shared_ptr<doris::LoadStreamStub> 
>(std::shared_ptr<doris::LoadStreamStub>*, 
std::shared_ptr<doris::LoadStreamStub>*, 
std::allocator<std::shared_ptr<doris::LoadStreamStub> >&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:746:7
       #9 0x56375fa00a9c in std::vector<std::shared_ptr<doris::LoadStreamStub>, 
std::allocator<std::shared_ptr<doris::LoadStreamStub> > >::~vector() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:680:2
       #10 0x56375fa00a9c in doris::LoadStreams::~LoadStreams() 
/root/doris/be/src/vec/sink/load_stream_stub_pool.h:75:7
       #11 0x56375fa00a9c in void 
std::destroy_at<doris::LoadStreams>(doris::LoadStreams*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:88:15
       #12 0x56375fa00a9c in void 
std::allocator_traits<std::allocator<doris::LoadStreams> 
>::destroy<doris::LoadStreams>(std::allocator<doris::LoadStreams>&, 
doris::LoadStreams*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:533:4
       #13 0x56375fa00a9c in std::_Sp_counted_ptr_inplace<doris::LoadStreams, 
std::allocator<doris::LoadStreams>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:528:2
       #14 0x56375fba26ed in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:168:6
       #15 0x56375fba26ed in 
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:702:11
       #16 0x56375fba26ed in std::__shared_ptr<doris::LoadStreams, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1149:31
       #17 0x56375fba26ed in std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >::~pair() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_iterator.h:2379:12
       #18 0x56375fba26ed in void std::destroy_at<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> > >(std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:88:15
       #19 0x56375fba26ed in void 
std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<long 
const, std::shared_ptr<doris::LoadStreams> >, false> > 
>::destroy<std::pair<long const, std::shared_ptr<doris::LoadStreams> > 
>(std::allocator<std::__detail::_Hash_node<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >, false> >&, std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:533:4
       #20 0x56375fba26ed in 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<long
 const, std::shared_ptr<doris::LoadStreams> >, false> > 
>::_M_deallocate_node(std::__detail::_Hash_node<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >, false>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable_policy.h:1891:7
       #21 0x56375fba26ed in 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<long
 const, std::shared_ptr<doris::LoadStreams> >, false> > 
>::_M_deallocate_nodes(std::__detail::_Hash_node<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >, false>*) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable_policy.h:1913:4
       #22 0x56375fba26ed in std::_Hashtable<long, std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >, std::allocator<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> > >, std::__detail::_Select1st, 
std::equal_to<long>, std::hash<long>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >::clear() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable.h:2297:13
       #23 0x56375fba26ed in std::_Hashtable<long, std::pair<long const, 
std::shared_ptr<doris::LoadStreams> >, std::allocator<std::pair<long const, 
std::shared_ptr<doris::LoadStreams> > >, std::__detail::_Select1st, 
std::equal_to<long>, std::hash<long>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/hashtable.h:1509:7
       #24 0x56375fb85332 in std::unordered_map<long, 
std::shared_ptr<doris::LoadStreams>, std::hash<long>, std::equal_to<long>, 
std::allocator<std::pair<long const, std::shared_ptr<doris::LoadStreams> > > 
>::~unordered_map() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unordered_map.h:102:11
       #25 0x56375fb85332 in 
doris::vectorized::VTabletWriterV2::~VTabletWriterV2() 
/root/doris/be/src/vec/sink/writer/vtablet_writer_v2.cpp:65:35
       #26 0x56375fa83e7f in 
std::default_delete<doris::vectorized::VTabletWriterV2>::operator()(doris::vectorized::VTabletWriterV2*)
 const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:85:2
       #27 0x56375fa83e7f in 
std::unique_ptr<doris::vectorized::VTabletWriterV2, 
std::default_delete<doris::vectorized::VTabletWriterV2> >::~unique_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:361:4
       #28 0x56375fa83e7f in 
doris::vectorized::AsyncWriterSink<doris::vectorized::VTabletWriterV2, 
&(doris::vectorized::VOLAP_TABLE_SINK_V2.<char const at offset 
0>)>::~AsyncWriterSink() /root/doris/be/src/vec/sink/async_writer_sink.h:45:7
       #29 0x56375fa7d79f in 
doris::vectorized::VOlapTableSinkV2::~VOlapTableSinkV2() 
/root/doris/be/src/vec/sink/volap_table_sink_v2.cpp:46:37
       #30 0x56375fa7d79f in 
doris::vectorized::VOlapTableSinkV2::~VOlapTableSinkV2() 
/root/doris/be/src/vec/sink/volap_table_sink_v2.cpp:46:37
       #31 0x56373b60c3f9 in 
std::default_delete<doris::DataSink>::operator()(doris::DataSink*) const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:85:2
       #32 0x56373b60c3f9 in std::unique_ptr<doris::DataSink, 
std::default_delete<doris::DataSink> >::~unique_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:361:4
       #33 0x56373b60c3f9 in 
doris::PlanFragmentExecutor::~PlanFragmentExecutor() 
/root/doris/be/src/runtime/plan_fragment_executor.cpp:112:1
       #34 0x56373b49f295 in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:168:6
       #35 0x56373b49f295 in 
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:702:11
       #36 0x56373b49f295 in std::__shared_ptr<doris::PlanFragmentExecutor, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1149:31
       #37 0x56373b49f295 in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0::~$_0() 
/root/doris/be/src/runtime/fragment_mgr.cpp:799:13
       #38 0x56373b49f295 in 
std::_Function_base::_Base_manager<doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams
 const&, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0>::_M_destroy(std::_Any_data&, std::integral_constant<bool, false>) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:174:4
       #39 0x56373b49f295 in 
std::_Function_base::_Base_manager<doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams
 const&, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0>::_M_manager(std::_Any_data&, std::_Any_data const&, 
std::_Manager_operation) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:200:8
       #40 0x56373b49f295 in std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0>::_M_manager(std::_Any_data&, std::_Any_data const&, 
std::_Manager_operation) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:283:6
       #41 0x56373bc21bb9 in std::_Function_base::~_Function_base() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:245:2
       #42 0x56373bc21bb9 in doris::FunctionRunnable::~FunctionRunnable() 
/root/doris/be/src/util/threadpool.cpp:44:7
       #43 0x56373bc1960b in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:168:6
       #44 0x56373bc1960b in 
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:702:11
       #45 0x56373bc1960b in std::__shared_ptr<doris::Runnable, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1149:31
       #46 0x56373bc1960b in std::__shared_ptr<doris::Runnable, 
(__gnu_cxx::_Lock_policy)2>::reset() 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1267:9
       #47 0x56373bc1960b in doris::ThreadPool::dispatch_thread() 
/root/doris/be/src/util/threadpool.cpp:551:23
       #48 0x56373bbf7248 in std::function<void ()>::operator()() const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
       #49 0x56373bbf7248 in doris::Thread::supervise_thread(void*) 
/root/doris/be/src/util/thread.cpp:498:5
       #50 0x7fbea4a95608 in start_thread 
/build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
   ```
   
   <!--Describe your changes.-->
   
   ## 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

Reply via email to