xinyiZzz opened a new pull request, #22003:
URL: https://github.com/apache/doris/pull/22003
## Proposed changes
fix: #21136
mem tracker group uses class static variables instead of global variables
TODO: A mem tracker manager is required, don't use global variables, it will
sad
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007fea68c45859 in __GI_abort () at abort.c:79
#2 0x00007fea68c45729 in __assert_fail_base (
fmt=0x7fea68ddb588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x7fea68ac3120 "new_prio == -1 || (new_prio >= fifo_min_prio
&& new_prio <= fifo_max_prio)", file=0x7fea68ac3114 "tpp.c", line=82,
function=<optimized out>) at assert.c:92
#3 0x00007fea68c56fd6 in {}GI{}_assert_fail (
assertion=assertion@entry=0x7fea68ac3120 "new_prio == -1 || (new_prio >=
fifo_min_prio && new_prio <= fifo_max_prio)",
file=file@entry=0x7fea68ac3114 "tpp.c", line=line@entry=82,
function=function@entry=0x7fea68ac31d0 <{}PRETTY_FUNCTION{}.7875>
"{_}_pthread_tpp_change_priority") at assert.c:101
#4 0x00007fea68ac01d9 in __pthread_tpp_change_priority (
previous_prio=previous_prio@entry=-1, new_prio=new_prio@entry=1436)
at tpp.c:82
#5 0x00007fea68ab5b09 in __pthread_mutex_lock_full (mutex=0x7fea6810d258)
at ../nptl/pthread_mutex_lock.c:545
#6 0x0000558f03fc34ab in {}gthread_mutex_lock ({_}_mutex=0x7fea6810d258)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11/bits/gthr-default.h:749
#7 0x0000558f03fc758b in std::mutex::lock (this=0x7fea6810d258)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../i-TyT-------------{}Type
<RET> for more, q to quit, c to continue without paging{}
nclude/c++/11/bits/std_mutex.h:100
#8 0x0000558f03fc60ef in std::lock_guard<std::mutex>::lock_guard
(this=0x7ffeadbd7780, __m=...)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_mutex.h:229
#9 0x0000558f078b4fac in doris::MemTracker::~MemTracker
(this=0x7fea30cfbcb0)
at /doris/be/src/runtime/memory/mem_tracker.cpp:85
#10 0x0000558f06e127e1 in std::destroy_at<doris::MemTracker>
(__location=0x7fea30cfbcb0)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:88
#11 0x0000558f06e12601 in
std::allocator_traits<std::allocator<doris::MemTracker>
>::destroy<doris::MemTracker> (__a=..., __p=0x7fea30cfbcb0)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:533
#12 0x0000558f06e12014 in std::Sp_counted_ptr_inplace<doris::MemTracker,
std::allocator<doris::MemTracker>, (_gnu_cxx::_Lock_policy)2>::_M_dispose
(this=0x7fea30cfbca0)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:528
#13 0x0000558f03f86132 in
std::Sp_counted_base<(_gnu_cxx::_Lock_policy)2>::_M_release (
this=0x7fea30cfbca0)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:168
#14 0x0000558f03f85e1e in
std::{}shared_count<({}gnu_cxx::Lock_policy)2>::~_shared_count (
this=0x558f46ff07f0 <doris::ExecEnv::GetInstance()::s_exec_env+200>)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:702
#15 0x0000558f06961dad in std::{}shared_ptr<doris::MemTracker,
({}gnu_cxx::Lock_policy)2>::~_shared_ptr (this=0x558f46ff07e8
<doris::ExecEnv::GetInstance()::s_exec_env+192>)
at
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1149
#16 0x0000558f0695c699 in std::shared_ptr<doris::MemTracker>::~shared_ptr (
this=0x558f46ff07e8 <doris::ExecEnv::GetInstance()::s_exec_env+192>)
```
## 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]