BiteTheDDDDt opened a new pull request, #17202: URL: https://github.com/apache/doris/pull/17202
# Proposed changes I found that `thrift` often has some crash under `asan`, I want to try to upgrade it to the latest version and see if the problem still occurs. There is thrift's release notes https://github.com/apache/thrift/blob/master/CHANGES.md ```cpp ================================================================= ==3313527==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f620d10adb0 at pc 0x560af1186b17 bp 0x7f620d10ad80 sp 0x7f620d10a528 WRITE of size 24 at 0x7f620d10adb0 thread T861 (EvHttpServer [w) #0 0x560af1186b16 in __interceptor_sigaltstack.part.0 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x7049b16) #1 0x560af11ec8bf in __asan::PlatformUnpoisonStacks() (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x70af8bf) #2 0x560af11f2224 in __asan_handle_no_return (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x70b5224) #3 0x560af38641bf in __gnu_cxx::new_allocator<char>::~new_allocator() /var/local/ldb-toolchain/include/c++/11/ext/new_allocator.h:89 #4 0x560af38641bf in std::allocator<char>::~allocator() /var/local/ldb-toolchain/include/c++/11/bits/allocator.h:162 #5 0x560af38641bf in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider() /var/local/ldb-toolchain/include/c++/11/bits/basic_string.h:150 #6 0x560af38641bf in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() /var/local/ldb-toolchain/include/c++/11/bits/basic_string.h:658 #7 0x560af38641bf in doris::FrontendServiceClient::recv_streamLoadPut(doris::TStreamLoadPutResult&) /root/doris/gensrc/build/gen_cpp/FrontendService.cpp:6420 #8 0x560af3864369 in doris::FrontendServiceClient::streamLoadPut(doris::TStreamLoadPutResult&, doris::TStreamLoadPutRequest const&) /root/doris/gensrc/build/gen_cpp/FrontendService.cpp:6367 #9 0x560af4220b56 in operator() /root/doris/be/src/http/action/stream_load.cpp:584 #10 0x560af4220b56 in __invoke_impl<void, doris::StreamLoadAction::_process_put(doris::HttpRequest*, doris::StreamLoadContext*)::<lambda(doris::FrontendServiceConnection&)>&, doris::ClientConnection<doris::FrontendServiceClient>&> /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:61 #11 0x560af4220b56 in __invoke_r<void, doris::StreamLoadAction::_process_put(doris::HttpRequest*, doris::StreamLoadContext*)::<lambda(doris::FrontendServiceConnection&)>&, doris::ClientConnection<doris::FrontendServiceClient>&> /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #12 0x560af4220b56 in _M_invoke /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 #13 0x560af325f612 in std::function<void (doris::ClientConnection<doris::FrontendServiceClient>&)>::operator()(doris::ClientConnection<doris::FrontendServiceClient>&) const /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:560 #14 0x560af325f612 in doris::Status doris::ThriftRpcHelper::rpc<doris::FrontendServiceClient>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::function<void (doris::ClientConnection<doris::FrontendServiceClient>&)>, int) /root/doris/be/src/util/thrift_rpc_helper.cpp:59 #15 0x560af4231bef in doris::Status doris::ThriftRpcHelper::rpc<doris::FrontendServiceClient>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::function<void (doris::ClientConnection<doris::FrontendServiceClient>&)>) /root/doris/be/src/util/thrift_rpc_helper.h:40 #16 0x560af4231bef in doris::StreamLoadAction::_process_put(doris::HttpRequest*, doris::StreamLoadContext*) /root/doris/be/src/http/action/stream_load.cpp:584 #17 0x560af4235da4 in doris::StreamLoadAction::_on_header(doris::HttpRequest*, doris::StreamLoadContext*) /root/doris/be/src/http/action/stream_load.cpp:341 #18 0x560af4241834 in doris::StreamLoadAction::on_header(doris::HttpRequest*) /root/doris/be/src/http/action/stream_load.cpp:242 #19 0x560af416de47 in doris::EvHttpServer::on_header(evhttp_request*) /root/doris/be/src/http/ev_http_server.cpp:242 #20 0x560af416e259 in on_header /root/doris/be/src/http/ev_http_server.cpp:64 #21 0x560b07a898b9 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d94c8b9) #22 0x560b07a6bf50 in bufferevent_run_readcb_ (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d92ef50) #23 0x560b07a8ddf2 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d950df2) #24 0x560b07a74d58 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d937d58) #25 0x560b07a753d6 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d9383d6) #26 0x560b07a77a07 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x1d93aa07) #27 0x560af416737a in operator() /root/doris/be/src/http/ev_http_server.cpp:105 #28 0x560af416737a in __invoke_impl<void, doris::EvHttpServer::start()::<lambda()>&> /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:61 #29 0x560af416737a in __invoke_r<void, doris::EvHttpServer::start()::<lambda()>&> /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #30 0x560af416737a in _M_invoke /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 #31 0x560af32fc1c2 in std::function<void ()>::operator()() const /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:560 #32 0x560af32fc1c2 in doris::FunctionRunnable::run() /root/doris/be/src/util/threadpool.cpp:46 #33 0x560af32fa0a0 in doris::ThreadPool::dispatch_thread() /root/doris/be/src/util/threadpool.cpp:529 #34 0x560af32fbd77 in void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:74 #35 0x560af32fbd77 in std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:96 #36 0x560af32fbd77 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /var/local/ldb-toolchain/include/c++/11/functional:420 #37 0x560af32fbd77 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() /var/local/ldb-toolchain/include/c++/11/functional:503 #38 0x560af32fbd77 in void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:61 #39 0x560af32fbd77 in 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*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #40 0x560af32fbd77 in std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 #41 0x560af32ce334 in std::function<void ()>::operator()() const /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:560 #42 0x560af32ce334 in doris::Thread::supervise_thread(void*) /root/doris/be/src/util/thread.cpp:453 #43 0x7f64402a0608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477 #44 0x7f6440076132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) Address 0x7f620d10adb0 is located in stack of thread T861 (EvHttpServer [w) at offset 208 in frame #0 0x560af1e8ad3f in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>::readMessageBegin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, apache::thrift::protocol::TMessageType&, int&) /var/local/thirdparty/installed/include/thrift/protocol/TBinaryProtocol.tcc:200 This frame has 7 object(s): [48, 49) '<unknown>' [64, 68) 'theBytes' (line 372) [80, 84) 'theBytes' (line 372) [96, 100) 'theBytes' (line 372) [112, 116) 'theBytes' (line 372) [128, 160) '<unknown>' [192, 193) 'b' (line 350) <== Memory access at offset 208 overflows this variable HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions *are* supported) Thread T861 (EvHttpServer [w) created by T0 here: #0 0x560af118b061 in pthread_create (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x704e061) #1 0x560af32ca1d1 in doris::Thread::start_thread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void ()> const&, unsigned long, scoped_refptr<doris::Thread>*) /root/doris/be/src/util/thread.cpp:407 #2 0x560af32e7aaa in doris::Status doris::Thread::create<void (doris::ThreadPool::*)(), doris::ThreadPool*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (doris::ThreadPool::* const&)(), doris::ThreadPool* const&, scoped_refptr<doris::Thread>*) /root/doris/be/src/util/thread.h:57 #3 0x560af32e7aaa in doris::ThreadPool::create_thread() /root/doris/be/src/util/threadpool.cpp:598 #4 0x560af32f1633 in doris::ThreadPool::init() /root/doris/be/src/util/threadpool.cpp:257 #5 0x560af4168efc in doris::Status doris::ThreadPoolBuilder::build<doris::ThreadPool>(std::unique_ptr<doris::ThreadPool, std::default_delete<doris::ThreadPool> >*) const /root/doris/be/src/util/threadpool.h:114 #6 0x560af4168efc in doris::EvHttpServer::start() /root/doris/be/src/http/ev_http_server.cpp:100 #7 0x560af2ecb33f in doris::HttpService::start() /root/doris/be/src/service/http_service.cpp:191 #8 0x560af1238d53 in main /root/doris/be/src/service/doris_main.cpp:496 #9 0x7f643ff7b082 in __libc_start_main ../csu/libc-start.c:308 SUMMARY: AddressSanitizer: stack-buffer-overflow (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x7049b16) in __interceptor_sigaltstack.part.0 Shadow bytes around the buggy address: 0x0fecc1a19560: 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 01 f2 00 00 0x0fecc1a19570: 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 0x0fecc1a19580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fecc1a19590: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 0x0fecc1a195a0: f1 f1 01 f2 04 f2 04 f2 04 f2 04 f2 00 00 00 00 =>0x0fecc1a195b0: f2 f2 f2 f2 01 f3[f3]f3 00 00 00 00 00 00 00 00 0x0fecc1a195c0: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 01 f2 0x0fecc1a195d0: f8 f2 01 f2 04 f2 04 f2 00 00 f2 f2 00 00 f2 f2 0x0fecc1a195e0: 00 00 f2 f2 00 00 f2 f2 00 00 00 f2 f2 f2 f2 f2 0x0fecc1a195f0: 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 0x0fecc1a19600: 00 00 00 00 00 00 f3 f3 f3 f3 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==3313527==ABORTING start time: Fri 24 Feb 2023 01:47:08 PM CST WARNING: Logging before InitGoogleLogging() is written to STDERR I0224 13:47:08.619928 3332520 doris_main.cpp:324] enable_fuzzy_mode is true, set fuzzy configs ================================================================= ==3332520==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f261aa5d8c8 at pc 0x555d91c56b17 bp 0x7f261aa5d890 sp 0x7f261aa5d038 WRITE of size 24 at 0x7f261aa5d8c8 thread T611 (TaskWorkerPool.) #0 0x555d91c56b16 in __interceptor_sigaltstack.part.0 (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x7049b16) #1 0x555d91cbc8bf in __asan::PlatformUnpoisonStacks() (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x70af8bf) #2 0x555d91cc2224 in __asan_handle_no_return (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x70b5224) #3 0x555d946706d1 in apache::thrift::protocol::TProtocol::decrementOutputRecursionDepth() /var/local/thirdparty/installed/include/thrift/protocol/TProtocol.h:576 #4 0x555d946706d1 in apache::thrift::protocol::TOutputRecursionTracker::~TOutputRecursionTracker() /var/local/thirdparty/installed/include/thrift/protocol/TProtocol.h:648 #5 0x555d946706d1 in doris::TTabletInfo::write(apache::thrift::protocol::TProtocol*) const /root/doris/gensrc/build/gen_cpp/MasterService_types.cpp:483 #6 0x555d94666b0c in doris::TTablet::write(apache::thrift::protocol::TProtocol*) const /root/doris/gensrc/build/gen_cpp/MasterService_types.cpp:1215 #7 0x555d9466d15a in doris::TReportRequest::write(apache::thrift::protocol::TProtocol*) const /root/doris/gensrc/build/gen_cpp/MasterService_types.cpp:1930 #8 0x555d942bf17b in doris::FrontendService_report_pargs::write(apache::thrift::protocol::TProtocol*) const /root/doris/gensrc/build/gen_cpp/FrontendService.cpp:1204 #9 0x555d942f866c in doris::FrontendServiceClient::send_report(doris::TReportRequest const&) /root/doris/gensrc/build/gen_cpp/FrontendService.cpp:5566 #10 0x555d9431f360 in doris::FrontendServiceClient::report(doris::TMasterResult&, doris::TReportRequest const&) /root/doris/gensrc/build/gen_cpp/FrontendService.cpp:5555 #11 0x555d9294362c in doris::MasterServerClient::report(doris::TReportRequest const&, doris::TMasterResult*) /root/doris/be/src/agent/utils.cpp:109 #12 0x555d928d4e74 in doris::TaskWorkerPool::_handle_report(doris::TReportRequest&, doris::TaskWorkerPool::ReportType) /root/doris/be/src/agent/task_worker_pool.cpp:1651 #13 0x555d928dbbf5 in doris::TaskWorkerPool::_report_tablet_worker_thread_callback() /root/doris/be/src/agent/task_worker_pool.cpp:1376 #14 0x555d92923c21 in void std::__invoke_impl<void, void (doris::TaskWorkerPool::*&)(), doris::TaskWorkerPool*&>(std::__invoke_memfun_deref, void (doris::TaskWorkerPool::*&)(), doris::TaskWorkerPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:74 #15 0x555d92923c21 in std::enable_if<is_invocable_r_v<void, void (doris::TaskWorkerPool::*&)(), doris::TaskWorkerPool*&>, void>::type std::__invoke_r<void, void (doris::TaskWorkerPool::*&)(), doris::TaskWorkerPool*&>(void (doris::TaskWorkerPool::*&)(), doris::TaskWorkerPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #16 0x555d92923c21 in void std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /var/local/ldb-toolchain/include/c++/11/functional:570 #17 0x555d92923c21 in void std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>::operator()<>() /var/local/ldb-toolchain/include/c++/11/functional:629 #18 0x555d92923c21 in void std::__invoke_impl<void, std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>&>(std::__invoke_other, std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:61 #19 0x555d92923c21 in std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>&>, void>::type std::__invoke_r<void, std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>&>(std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #20 0x555d92923c21 in std::_Function_handler<void (), std::_Bind_result<void, void (doris::TaskWorkerPool::*(doris::TaskWorkerPool*))()> >::_M_invoke(std::_Any_data const&) /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 #21 0x555d93dcc1c2 in std::function<void ()>::operator()() const /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:560 #22 0x555d93dcc1c2 in doris::FunctionRunnable::run() /root/doris/be/src/util/threadpool.cpp:46 #23 0x555d93dca0a0 in doris::ThreadPool::dispatch_thread() /root/doris/be/src/util/threadpool.cpp:529 #24 0x555d93dcbd77 in void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:74 #25 0x555d93dcbd77 in std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:96 #26 0x555d93dcbd77 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /var/local/ldb-toolchain/include/c++/11/functional:420 #27 0x555d93dcbd77 in void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() /var/local/ldb-toolchain/include/c++/11/functional:503 #28 0x555d93dcbd77 in void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:61 #29 0x555d93dcbd77 in 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*))()>&) /var/local/ldb-toolchain/include/c++/11/bits/invoke.h:111 #30 0x555d93dcbd77 in std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:291 #31 0x555d93d9e334 in std::function<void ()>::operator()() const /var/local/ldb-toolchain/include/c++/11/bits/std_function.h:560 #32 0x555d93d9e334 in doris::Thread::supervise_thread(void*) /root/doris/be/src/util/thread.cpp:453 #33 0x7f27bf731608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477 #34 0x7f27bf507132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) Address 0x7f261aa5d8c8 is located in stack of thread T611 (TaskWorkerPool.) at offset 40 in frame #0 0x555d929457ef in apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, apache::thrift::protocol::TProtocolDefaults>::writeI64_virt(long) /var/local/thirdparty/installed/include/thrift/protocol/TVirtualProtocol.h:380 This frame has 1 object(s): [32, 40) 'net' <== Memory access at offset 40 overflows this variable HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions *are* supported) Thread T611 (TaskWorkerPool.) created by T0 here: #0 0x555d91c5b061 in pthread_create (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x704e061) #1 0x555d93d9a1d1 in doris::Thread::start_thread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void ()> const&, unsigned long, scoped_refptr<doris::Thread>*) /root/doris/be/src/util/thread.cpp:407 #2 0x555d93db7aaa in doris::Status doris::Thread::create<void (doris::ThreadPool::*)(), doris::ThreadPool*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (doris::ThreadPool::* const&)(), doris::ThreadPool* const&, scoped_refptr<doris::Thread>*) /root/doris/be/src/util/thread.h:57 #3 0x555d93db7aaa in doris::ThreadPool::create_thread() /root/doris/be/src/util/threadpool.cpp:598 #4 0x555d93dc1633 in doris::ThreadPool::init() /root/doris/be/src/util/threadpool.cpp:257 #5 0x555d928cf7b0 in doris::Status doris::ThreadPoolBuilder::build<doris::ThreadPool>(std::unique_ptr<doris::ThreadPool, std::default_delete<doris::ThreadPool> >*) const /root/doris/be/src/util/threadpool.h:114 #6 0x555d928cf7b0 in doris::TaskWorkerPool::start() /root/doris/be/src/agent/task_worker_pool.cpp:223 #7 0x555d9396e75a in doris::AgentServer::AgentServer(doris::ExecEnv*, doris::TMasterInfo const&) /root/doris/be/src/agent/agent_server.cpp:96 #8 0x555d93948f1b in doris::BackendService::BackendService(doris::ExecEnv*) /root/doris/be/src/service/backend_service.cpp:68 #9 0x555d93952eec in doris::BackendService::create_service(doris::ExecEnv*, int, doris::ThriftServer**) /root/doris/be/src/service/backend_service.cpp:71 #10 0x555d91d085cb in main /root/doris/be/src/service/doris_main.cpp:463 #11 0x7f27bf40c082 in __libc_start_main ../csu/libc-start.c:308 SUMMARY: AddressSanitizer: stack-buffer-overflow (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster7/be/lib/doris_be+0x7049b16) in __interceptor_sigaltstack.part.0 Shadow bytes around the buggy address: 0x0fe543543ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0x0fe543543b10: 00 00 00 00 f1 f1 f1 f1 00[f3]f3 f3 00 00 00 00 0x0fe543543b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543b30: f1 f1 f1 f1 f1 f1 01 f2 00 f2 f2 f2 00 f2 f2 f2 0x0fe543543b40: 00 f2 f2 f2 00 f2 f2 f2 00 f3 f3 f3 00 00 00 00 0x0fe543543b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fe543543b60: f1 f1 f1 f1 f1 f1 01 f2 00 f2 f2 f2 00 f2 f2 f2 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==3332520==ABORTING ``` ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## 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