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

   ## Proposed changes
   
   Fix BE grace exit
   ```
   ==45195==ERROR: AddressSanitizer: heap-buffer-overflow on address 
0x614000432bc8 at pc 0x5584e269579b bp 0x7f473f491410 sp 0x7f473f491408
   READ of size 8 at 0x614000432bc8 thread T12
       #0 0x5584e269579a in std::_Head_base<2ul, unsigned long, 
false>::_Head_base(unsigned long const&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:183:22
       #1 0x5584e269579a in std::_Tuple_impl<2ul, unsigned 
long>::_Tuple_impl(unsigned long const&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:426:9
       #2 0x5584e269579a in std::_Tuple_impl<1ul, unsigned long, unsigned 
long>::_Tuple_impl(unsigned long const&, unsigned long const&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../
   ../include/c++/11/tuple:270:9
       #3 0x5584e269579a in std::_Tuple_impl<0ul, std::array<void*, 45ul>, 
unsigned long, unsigned long>::_Tuple_impl(std::array<void*, 45ul> const&, 
unsigned long const&, unsigned long const&) /var/local/l
   
db-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:270:9
       #4 0x5584e269579a in std::tuple<std::array<void*, 45ul>, unsigned long, 
unsigned long>::tuple<true, true>(std::array<void*, 45ul> const&, unsigned long 
const&, unsigned long const&) /var/local/ldb-to
   
olchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:719:4
       #5 0x5584e269579a in bool operator<<StackTraceTriple, 
StackTraceRefTriple>(StackTraceTriple const&, StackTraceRefTriple const&) 
/src/common/stack_trace.cpp:344:12
       #6 0x5584e269579a in decltype(auto) 
std::less<void>::_S_cmp<StackTraceTriple const&, StackTraceRefTriple 
const&>(StackTraceTriple const&, StackTraceRefTriple const&, 
std::integral_constant<bool, fals
   e>) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_function.h:601:34
       #7 0x5584e269579a in decltype((std::forward<StackTraceTriple 
const&>(fp)) < (std::forward<StackTraceRefTriple const&>(fp0))) 
std::less<void>::operator()<StackTraceTriple const&, StackTraceRefTriple c
   onst&>(StackTraceTriple const&, StackTraceRefTriple const&) const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_function.h:586:11
       #8 0x5584e269579a in 
std::Rb_tree_const_iterator<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > std::_Rb_tree<StackTraceTriple,
    std::pair<StackTraceTriple const, std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::_Select1st<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, st
   d::char_traits<char>, std::allocator<char> > > >, std::less<void>, 
std::allocator<std::pair<StackTraceTriple const, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >::
   _M_lower_bound_tr<StackTraceRefTriple, void>(StackTraceRefTriple const&) 
const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:1337:11
       #9 0x5584e269579a in 
std::Rb_tree_const_iterator<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > std::_Rb_tree<StackTraceTriple,
    std::pair<StackTraceTriple const, std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::_Select1st<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, st
   d::char_traits<char>, std::allocator<char> > > >, std::less<void>, 
std::allocator<std::pair<StackTraceTriple const, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >::
   _M_find_tr<StackTraceRefTriple, void>(StackTraceRefTriple const&) const 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:1305:15
       #10 0x5584e268f66f in std::Rb_tree_iterator<std::pair<StackTraceTriple 
const, std::cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > > std::_Rb_tree<StackTraceTriple, 
std::pair<StackTraceTriple const, std::cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::_Select1st<std::pair<StackTraceTriple const, 
std::cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > 
>, std::less<void>, std::allocator<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >::_M_find_tr<StackTraceRefTriple, void>(StackTraceRefTriple const&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_tree.h:1297:25
       #11 0x5584e268f66f in decltype(*(this)._M_t._M_find_tr(fp)) 
std::map<StackTraceTriple, std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, std::less<void>, 
std::allocator<std::pair<StackTraceTriple const, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> > >::find<StackTraceRefTriple>(StackTraceRefTriple const&) 
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_map.h:1176:16
       #12 0x5584e268f66f in toStringCached[abi:cxx11](std::array<void*, 45ul> 
const&, unsigned long, unsigned long) /src/common/stack_trace.cpp:450:25
       #13 0x5584e2690712 in StackTrace::toString[abi:cxx11]() const 
/src/common/stack_trace.cpp:465:12
       #14 0x5584e2686972 in doris::get_stack_trace_by_libunwind[abi:cxx11]() 
/src/util/stack_util.cpp:84:32
       #15 0x5584e2685add in doris::get_stack_trace[abi:cxx11]() 
/src/util/stack_util.cpp:51:16
       #16 0x5584e276defb in doris::Status doris::Status::Error<41, true, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&>(std::basic_string_view<char, std::char_traits<char> >, 
std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&) /src/common/status.h:368:39
       #17 0x5584e275f23d in doris::Status 
doris::Status::ServiceUnavailable<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > 
const&>(std::basic_string_view<char, std::char_tr
   aits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&) /src/common/status.h:422:5
       #18 0x5584e275f23d in doris::ThreadPool::shutdown() 
/src/util/threadpool.cpp:277:20
       #19 0x55850163da21 in doris::pipeline::TaskScheduler::shutdown() 
/src/pipeline/task_scheduler.cpp:361:31
       #20 0x55850163da21 in doris::pipeline::TaskScheduler::~TaskScheduler() 
/src/pipeline/task_scheduler.cpp:199:5
       #21 0x5584e1f94859 in doris::ExecEnv::_destroy() 
/src/runtime/exec_env_init.cpp:423:5
       #22 0x5584e1f80d38 in doris::ExecEnv::~ExecEnv() 
/src/runtime/exec_env.cpp:36:5
       #23 0x7f47e2c598a6 in __run_exit_handlers 
/build/glibc-SzIz7B/glibc-2.31/stdlib/exit.c:108:8
   ```
   
   ## 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