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