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

   ## Proposed changes
   
   fix
   ```
   *** Check failure stack trace: ***
   F20240613 12:33:01.700206 1467887 thread_context.h:204] Check failed: 
doris::k_doris_exit || !doris::config::enable_memory_orphan_check || 
thread_mem_tracker()->label() != "Orphan" If you crash here, it means that 
SCOPED_ATTACH_TASK and SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER are not used 
correctly. starting position of each thread is expected to use 
SCOPED_ATTACH_TASK to bind a MemTrackerLimiter belonging to 
Query/Load/Compaction/Other Tasks, otherwise memory alloc using Doris Allocator 
in the thread will crash. If you want to switch MemTrackerLimiter during thread 
execution, please use SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER, do not repeat 
Attach. Of course, you can modify enable_memory_orphan_check=false in be.conf 
to avoid this crash.
   
   44# doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams 
const&, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0::operator()() const at 
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/runtime/fragment_mgr.cpp:981
   45# void std::__invoke_impl<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0&>(std::__invoke_other, 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   46# std::enable_if<is_invocable_r_v<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0&>, 
void>::type std::__invoke_r<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0&>(doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams
 const&, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   47# std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0>::_M_invoke(std::_Any_data const&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   48# std::function<void ()>::operator()() const at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   49# doris::FunctionRunnable::run() at 
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/util/threadpool.cpp:48
   50# doris::ThreadPool::dispatch_thread() at 
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/util/threadpool.cpp:543
   51# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>(std::__invoke_memfun_deref, void 
(doris::ThreadPool::*&)(), doris::ThreadPool*&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74
   52# std::__invoke_result<void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), 
doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96
   53# void std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 
0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420
   54# void std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:503
   55# void std::__invoke_impl<void, std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, 
std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   56# 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*))()>&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   57# std::_Function_handler<void (), std::_Bind<void 
(doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data 
const&) at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   58# std::function<void ()>::operator()() const at 
/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   59# doris::Thread::supervise_thread(void*) at 
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/util/thread.cpp:498
   60# start_thread at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:478
   61# __clone at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
   ```
   <!--Describe your changes.-->
   
   


-- 
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