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

   # Proposed changes
   
   Issue Number: close #xxx
   
   ## Problem summary
   
    Be coredump for the following case:
   ```
    select      /*+ SET_VAR(query_timeout = 600) */ ref_1.`sr_reason_sk` as c0, 
   ref_1.`sr_return_tax` as c1,    version() as c2,    BITMAP_SUBSET_IN_RANGE(  
   cast(TO_BITMAP(       cast(         sum(           
cast(ref_1.`sr_return_quantity` as int)) over (partition by 
ref_1.`sr_store_credit` order by ref_1.`sr_store_credit` desc ) as int)) as 
bitmap),     cast(null as bigint),     cast(BITMAP_MIN(       
cast(BITMAP_EMPTY() as bitmap)) as bigint)) as c3 from    
regression_test_tpcds_sf1_unique_p1.store_returns as ref_1 where true
      
   ```
   
   The reason is that bug is introduced for optimization of const columns for 
some functions.
   
   coredump stack:
   ```
   ==1324550==ERROR: AddressSanitizer: heap-buffer-overflow on address 
0x603024ea8b80 at pc 0
   x55922e13fedf bp 0x7f281ad574f0 sp 0x7f281ad574e8
   READ of size 1 at 0x603024ea8b80 thread T5758 (FragmentMgrThre)
   #0 0x55922e13fede in 
doris::vectorized::VectorizedUtils::update_null_map(doris::vector
   ized::PODArray<unsigned char, 4096ul, Allocator<false, false>, 15ul, 16ul>&, 
doris::vector
   ized::PODArray<unsigned char, 4096ul, Allocator<false, false>, 15ul, 16ul> 
const&) /mnt/di
   sk1/yuejing/projects/doris/be/src/vec/utils/util.hpp:73:21
   #1 0x55922e133f59 in 
doris::vectorized::check_set_nullable(COW<doris::vectorized::ICol
   umn>::immutable_ptr<doris::vectorized::IColumn>&, 
COW<doris::vectorized::IColumn>::mutable
   _ptr<doris::vectorized::ColumnVector<unsigned char>>&) 
/mnt/disk1/yuejing/projects/doris/b
   e/src/vec/columns/column_nullable.cpp:642:9
   #2 0x55923443de6c in 
doris::vectorized::FunctionBitmapSubs<doris::vectorized::BitmapSu
   bsetInRange>::execute_impl(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector
   <unsigned long, std::allocator<unsigned long>> const&, unsigned long, 
unsigned long) /mnt/
   disk1/yuejing/projects/doris/be/src/vec/functions/function_bitmap.cpp:1004:13
   #3 0x55923304c4b5 in 
doris::vectorized::DefaultExecutable::execute_impl(doris::Functio
   nContext*, doris::vectorized::Block&, std::vector<unsigned long, 
std::allocator<unsigned l
   ong>> const&, unsigned long, unsigned long) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/f
   unctions/function.h:464:26
   #4 0x559235a5d6d2 in 
doris::vectorized::PreparedFunctionImpl::_execute_skipped_constan
   t_deal(doris::FunctionContext*, doris::vectorized::Block&, 
std::vector<unsigned long, std:
   :allocator<unsigned long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk1/yuejing/
   projects/doris/be/src/vec/functions/function.cpp:146:16
   #5 0x559235a540e0 in 
doris::vectorized::PreparedFunctionImpl::execute_without_low_card
   inality_columns(doris::FunctionContext*, doris::vectorized::Block&, 
std::vector<unsigned l
   ong, std::allocator<unsigned long>> const&, unsigned long, unsigned long, 
bool) /mnt/disk1
   /yuejing/projects/doris/be/src/vec/functions/function.cpp:257:12
   #6 0x559235a541ff in 
doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionC
   ontext*, doris::vectorized::Block&, std::vector<unsigned long, 
std::allocator<unsigned lon
   g>> const&, unsigned long, unsigned long, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/v
   ec/functions/function.cpp:278:12
   #7 0x55923304938a in 
doris::vectorized::IFunctionBase::execute(doris::FunctionContext*
   , doris::vectorized::Block&, std::vector<unsigned long, 
std::allocator<unsigned long>> con
   st&, unsigned long, unsigned long, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/func
   tions/function.h:159:19
   #8 0x559232f534e2 in 
doris::vectorized::VectorizedFnCall::execute(doris::vectorized::V
   ExprContext*, doris::vectorized::Block*, int*) 
/mnt/disk1/yuejing/projects/doris/be/src/ve
   c/exprs/vectorized_fn_call.cpp:107:5
   #9 0x559232f5fd82 in 
doris::vectorized::VExprContext::execute(doris::vectorized::Block
   , int) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vexpr_context.cpp:42:21
   #10 0x559232f62d4e in 
doris::vectorized::VExprContext::get_output_block_after_execute_
   exprs(std::vector<doris::vectorized::VExprContext*, 
std::allocator<doris::vectorized::VExp
   rContext*>> const&, doris::vectorized::Block const&, doris::Status&) 
/mnt/disk1/yuejing/pr
   ojects/doris/be/src/vec/exprs/vexpr_context.cpp:135:29
   #11 0x559227caff5e in 
doris::vectorized::VMysqlResultWriter<false>::append_block(doris
   ::vectorized::Block&) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/sink/vmysql_result_writ
   er.cpp:559:18
   #12 0x55923eaaa613 in 
doris::vectorized::VResultSink::send(doris::RuntimeState*, doris
   ::vectorized::Block*, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/sink/vresult_sink
   .cpp:92:21
   #13 0x5592278c7912 in 
doris::PlanFragmentExecutor::open_vectorized_internal() /mnt/dis
   k1/yuejing/projects/doris/be/src/runtime/plan_fragment_executor.cpp:303:34
   #14 0x5592278c604b in doris::PlanFragmentExecutor::open() 
/mnt/disk1/yuejing/projects/
   doris/be/src/runtime/plan_fragment_executor.cpp:245:14
   #15 0x55922781e1ed in doris::FragmentExecState::execute() 
/mnt/disk1/yuejing/projects/
   doris/be/src/runtime/fragment_mgr.cpp:230:31
   #16 0x5592278280d2 in 
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::Fragment
   ExecState>, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&) /mnt/disk1/
   yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:495:29
   #17 0x55922783e1bb in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_3::operator()() const 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:746:17
   #18 0x55922783e074 in void std::_invoke_impl<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_3&>(std::_invoke_other, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #19 0x55922783e014 in std::enable_if<is_invocable_r_v<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$3&>, 
void>::type std::_invoke_r<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_3&>(doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams
 const&, std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_3&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #20 0x55922783dd7c in std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_3>::_M_invoke(std::_Any_data const&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #21 0x559224e3f782 in std::function<void ()>::operator()() const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #22 0x5592280a27d8 in doris::FunctionRunnable::run() 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:46:27
   #23 0x55922808fec6 in doris::ThreadPool::dispatch_thread() 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:529:24
   #24 0x5592280b5db3 in void std::_invoke_impl<void, void 
(doris::ThreadPool::&)(), doris::ThreadPool&>(std::_invoke_memfun_deref, void 
(doris::ThreadPool::&)(), doris::ThreadPool&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
   #25 0x5592280b5c8c in std::_invoke_result<void (doris::ThreadPool::&)(), 
doris::ThreadPool&>::type std::_invoke<void (doris::ThreadPool::&)(), 
doris::ThreadPool&>(void (doris::ThreadPool::&)(), doris::ThreadPool&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
   #26 0x5592280b5c14 in void std::Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>::_call<void, 0ul>(std::tuple<>&&, 
std::_Index_tuple<0ul>) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420:11
   #27 0x5592280b5abd in void std::_Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>::operator()<void>() 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:503:17
   #28 0x5592280b59d4 in void std::_invoke_impl<void, std::_Bind<void 
(doris::ThreadPool::* (doris::ThreadPool*))()>&>(std::_invoke_other, 
std::_Bind<void (doris::ThreadPool::* (doris::ThreadPool*))()>&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #29 0x5592280b5974 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*))()>&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #30 0x5592280b569c in std::_Function_handler<void (), std::_Bind<void 
(doris::ThreadPool::* (doris::ThreadPool*))()>>::_M_invoke(std::_Any_data 
const&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #31 0x559224e3f782 in std::function<void ()>::operator()() const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #32 0x559228066efe in doris::Thread::supervise_thread(void*) 
/mnt/disk1/yuejing/projects/doris/be/src/util/thread.cpp:453:5
   #33 0x7f2dec967608 in start_thread 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 
f0983025f0e0f327a6da752ff4ffa675e0be393f)
   #34 0x7f2decbf6162 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f162) 
(BuildId: 9fdb74e7b217d06c93172a8243f8547f947ee6d1)
   
   0x603024ea8b80 is located 0 bytes to the right of 32-byte region 
[0x603024ea8b60,0x603024ea8b80)
   allocated by thread T907 (brpc_light) here:
   #0 0x559224cddbee in malloc 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x139babee) (BuildId: 
0d8d2d6c6a8cebe4)
   #1 0x5592250f13bc in Allocator<false, false>::alloc(unsigned long, unsigned 
long) /mnt/disk1/yuejing/projects/doris/be/src/vec/common/allocator.h:208:27
   #2 0x5592265b4884 in void doris::vectorized::PODArrayBase<1ul, 4096ul, 
Allocator<false, false>, 15ul, 16ul>::alloc<>(unsigned long) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/common/pod_array.h:123:63
   #3 0x5592265b4679 in void doris::vectorized::PODArrayBase<1ul, 4096ul, 
Allocator<false, false>, 15ul, 16ul>::realloc<>(unsigned long) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/common/pod_array.h:142:13
   #4 0x5592251b84c1 in void doris::vectorized::PODArrayBase<1ul, 4096ul, 
Allocator<false, false>, 15ul, 16ul>::reserve<>(unsigned long) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/common/pod_array.h:216:13
   #5 0x55922e12d9f0 in doris::vectorized::ColumnNullable::reserve(unsigned 
long) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/columns/column_nullable.cpp:427:26
   #6 0x55922e6bc679 in 
doris::vectorized::IDataType::create_column_const(unsigned long, 
doris::vectorized::Field const&) const 
/mnt/disk1/yuejing/projects/doris/be/src/vec/data_types/data_type.cpp:59:13
   #7 0x559232f710d2 in doris::vectorized::VLiteral::init(doris::TExprNode 
const&) /mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vliteral.cpp:192:31
   #8 0x55922776469e in doris::vectorized::VLiteral::VLiteral(doris::TExprNode 
const&, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vliteral.h:32:13
   #9 0x559232f2b70e in 
doris::vectorized::VExpr::create_expr(doris::ObjectPool*, doris::TExprNode 
const&, doris::vectorized::VExpr**) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vexpr.cpp:133:31
   #10 0x559232f2d6b5 in 
doris::vectorized::VExpr::create_tree_from_thrift(doris::ObjectPool*, 
std::vector<doris::TExprNode, std::allocator<doris::TExprNode>> const&, int*, 
doris::vectorized::VExpr*, doris::vectorized::VExprContext*) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vexpr.cpp:250:9
   #11 0x559232f2e022 in 
doris::vectorized::VExpr::create_expr_tree(doris::ObjectPool*, doris::TExpr 
const&, doris::vectorized::VExprContext**) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vexpr.cpp:269:21
   #12 0x559232f2e67f in 
doris::vectorized::VExpr::create_expr_trees(doris::ObjectPool*, 
std::vector<doris::TExpr, std::allocator<doris::TExpr>> const&, 
std::vector<doris::vectorized::VExprContext*, 
std::allocator<doris::vectorized::VExprContext*>>*) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/exprs/vexpr.cpp:288:9
   #13 0x55923eaa8c2f in 
doris::vectorized::VResultSink::prepare_exprs(doris::RuntimeState*) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/sink/vresult_sink.cpp:46:5
   #14 0x55923eaa93a8 in 
doris::vectorized::VResultSink::prepare(doris::RuntimeState*) 
/mnt/disk1/yuejing/projects/doris/be/src/vec/sink/vresult_sink.cpp:61:5
   #15 0x5592278c42a8 in 
doris::PlanFragmentExecutor::prepare(doris::TExecPlanFragmentParams const&, 
doris::QueryFragmentsCtx*) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/plan_fragment_executor.cpp:190:9
   #16 0x55922781da19 in 
doris::FragmentExecState::prepare(doris::TExecPlanFragmentParams const&) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:209:26
   #17 0x55922782ba5e in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:732:9
   #18 0x5592278299d9 in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:553:16
   #19 0x559227d206f0 in 
doris::PInternalServiceImpl::exec_plan_fragment(std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>> const&, 
doris::PFragmentRequestVersion, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:371:13
   #20 0x559227d1fa96 in 
doris::PInternalServiceImpl::exec_plan_fragment(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:214:10
   #21 0x559227d40ec9 in 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9::operator()() const 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:226:9
   #22 0x559227d40d64 in void std::_invoke_impl<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&>(std::_invoke_other, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #23 0x559227d40d04 in std::enable_if<is_invocable_r_v<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$9&>, void>::type std::_invoke_r<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&>(doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #24 0x559227d40b6c in std::_Function_handler<void (), 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9>::_M_invoke(std::_Any_data const&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #25 0x559224e3f782 in std::function<void ()>::operator()() const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #26 0x559224e413c2 in doris::PriorityThreadPool::work_thread(int) 
/mnt/disk1/yuejing/projects/doris/be/src/util/priority_thread_pool.hpp:146:17
   #27 0x559224e435b2 in void std::_invoke_impl<void, void 
(doris::PriorityThreadPool::* const&)(int), doris::PriorityThreadPool*&, 
int&>(std::_invoke_memfun_deref, void (doris::PriorityThreadPool::* 
const&)(int), doris::PriorityThreadPool*&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
   #28 0x559224e43484 in std::_invoke_result<void (doris::PriorityThreadPool::* 
const&)(int), doris::PriorityThreadPool*&, int&>::type std::_invoke<void 
(doris::PriorityThreadPool::* const&)(int), doris::PriorityThreadPool*&, 
int&>(void (doris::PriorityThreadPool::* const&)(int), 
doris::PriorityThreadPool*&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
   #29 0x559224e43454 in decltype(std::__invoke((this)._M_pmf, 
std::forward<doris::PriorityThreadPool&>(fp), std::forward<int&>(fp))) 
std::_Mem_fn_base<void (doris::PriorityThreadPool::)(int), 
true>::operator()<doris::PriorityThreadPool&, 
int&>(doris::PriorityThreadPool*&, int&) const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:131:11
   
   Thread T5758 (FragmentMgrThre) created by T892 (brpc_light) here:
   #0 0x559224cc6a9c in pthread_create 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x139a3a9c) (BuildId: 
0d8d2d6c6a8cebe4)
   #1 0x559228065f04 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>*) 
/mnt/disk1/yuejing/projects/doris/be/src/util/thread.cpp:407:15
   #2 0x559228099fad 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>*) 
/mnt/disk1/yuejing/projects/doris/be/src/util/thread.h:57:16
   #3 0x55922808d68d in doris::ThreadPool::create_thread() 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:597:12
   #4 0x559228088236 in 
doris::ThreadPool::do_submit(std::shared_ptr<doris::Runnable>, 
doris::ThreadPoolToken*) 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:437:25
   #5 0x55922808db37 in 
doris::ThreadPool::submit(std::shared_ptr<doris::Runnable>) 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:339:12
   #6 0x55922808dd3c in doris::ThreadPool::submit_func(std::function<void ()>) 
/mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:343:12
   #7 0x55922782bf3d in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> const&) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:743:29
   #8 0x5592278299d9 in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&) 
/mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:553:16
   #9 0x559227d206f0 in 
doris::PInternalServiceImpl::exec_plan_fragment(std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>> const&, 
doris::PFragmentRequestVersion, bool) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:371:13
   #10 0x559227d1fa96 in 
doris::PInternalServiceImpl::exec_plan_fragment(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:214:10
   #11 0x559227d40ec9 in 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9::operator()() const 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:226:9
   #12 0x559227d40d64 in void std::_invoke_impl<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&>(std::_invoke_other, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #13 0x559227d40d04 in std::enable_if<is_invocable_r_v<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$9&>, void>::type std::_invoke_r<void, 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&>(doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #14 0x559227d40b6c in std::_Function_handler<void (), 
doris::PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcController*,
 doris::PExecPlanFragmentRequest const*, doris::PExecPlanFragmentResult*, 
google::protobuf::Closure*)::$_9>::_M_invoke(std::_Any_data const&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #15 0x559224e3f782 in std::function<void ()>::operator()() const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #16 0x559224e413c2 in doris::PriorityThreadPool::work_thread(int) 
/mnt/disk1/yuejing/projects/doris/be/src/util/priority_thread_pool.hpp:146:17
   #17 0x559224e435b2 in void std::_invoke_impl<void, void 
(doris::PriorityThreadPool::const&)(int), doris::PriorityThreadPool&, 
int&>(std::_invoke_memfun_deref, void (doris::PriorityThreadPool::* 
const&)(int), doris::PriorityThreadPool*&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
   #18 0x559224e43484 in std::_invoke_result<void (doris::PriorityThreadPool::* 
const&)(int), doris::PriorityThreadPool*&, int&>::type std::_invoke<void 
(doris::PriorityThreadPool::* const&)(int), doris::PriorityThreadPool*&, 
int&>(void (doris::PriorityThreadPool::* const&)(int), 
doris::PriorityThreadPool*&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
   #19 0x559224e43454 in decltype(std::__invoke((this)._M_pmf, 
std::forward<doris::PriorityThreadPool&>(fp), std::forward<int&>(fp))) 
std::_Mem_fn_base<void (doris::PriorityThreadPool::)(int), 
true>::operator()<doris::PriorityThreadPool&, 
int&>(doris::PriorityThreadPool*&, int&) const 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:131:11
   #20 0x559224e43424 in void std::_invoke_impl<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)>&, doris::PriorityThreadPool&, 
int&>(std::_invoke_other, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)>&, doris::PriorityThreadPool&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #21 0x559224e43374 in std::enable_if<is_invocable_r_v<void, std::Mem_fn<void 
(doris::PriorityThreadPool::)(int)>&, doris::PriorityThreadPool&, int&>, 
void>::type std::_invoke_r<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)>&, doris::PriorityThreadPool&, 
int&>(std::_Mem_fn<void (doris::PriorityThreadPool::)(int)>&, 
doris::PriorityThreadPool&, int&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #22 0x559224e432d3 in void std::Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>::_call<void, 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570:11
   #23 0x559224e4313d in void std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>::operator()<>() 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629:17
   #24 0x559224e43054 in void std::_invoke_impl<void, std::_Bind_result<void, 
std::_Mem_fn<void (doris::PriorityThreadPool::)(int)> 
(doris::PriorityThreadPool, int)>>(std::_invoke_other, std::_Bind_result<void, 
std::_Mem_fn<void (doris::PriorityThreadPool::)(int)> 
(doris::PriorityThreadPool, int)>&&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #25 0x559224e43014 in std::_invoke_result<std::_Bind_result<void, 
std::_Mem_fn<void (doris::PriorityThreadPool::)(int)> 
(doris::PriorityThreadPool, int)>>::type std::_invoke<std::_Bind_result<void, 
std::_Mem_fn<void (doris::PriorityThreadPool::)(int)> 
(doris::PriorityThreadPool, int)>>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, int)>&&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
   #26 0x559224e42fec in void 
std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>>>::_M_invoke<0ul>(std::_Index_tuple<0ul>) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:253:13
   #27 0x559224e42fc4 in 
std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>>>::operator()() 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:260:11
   #28 0x559224e42f48 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind_result<void,
 std::_Mem_fn<void (doris::PriorityThreadPool::)(int)> 
(doris::PriorityThreadPool, int)>>>>::_M_run() 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
   #29 0x559242c6fc3f in execute_native_thread_routine raw_logging.cc
   
   Thread T892 (brpc_light) created by T0 here:
   #0 0x559224cc6a9c in pthread_create 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x139a3a9c) (BuildId: 
0d8d2d6c6a8cebe4)
   #1 0x559242c6fd65 in 
std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, 
std::default_delete<std::thread::_State>>, void ()) 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x3194cd65) (BuildId: 
0d8d2d6c6a8cebe4)
   #2 0x559224e428d7 in std::MakeUniq<std::thread>::_single_object 
std::make_unique<std::thread, std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>&>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, int)>&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
   #3 0x559224e40c98 in std::thread* 
doris::ThreadGroup::create_thread<std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, int)>) 
/mnt/disk1/yuejing/projects/doris/be/src/util/thread_group.h:65:51
   #4 0x559224e40765 in doris::PriorityThreadPool::PriorityThreadPool(unsigned 
int, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>> const&) 
/mnt/disk1/yuejing/projects/doris/be/src/util/priority_thread_pool.hpp:60:22
   #5 0x559227d1b5d7 in 
doris::PInternalServiceImpl::PInternalServiceImpl(doris::ExecEnv*) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:124:11
   #6 0x559227c464f0 in doris::BRpcService::start(int, int) 
/mnt/disk1/yuejing/projects/doris/be/src/service/brpc_service.cpp:46:29
   #7 0x559224d1fe08 in main 
/mnt/disk1/yuejing/projects/doris/be/src/service/doris_main.cpp:474:27
   #8 0x7f2decafb0b2 in __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x240b2) (BuildId: 
9fdb74e7b217d06c93172a8243f8547f947ee6d1)
   
   Thread T907 (brpc_light) created by T0 here:
   #0 0x559224cc6a9c in pthread_create 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x139a3a9c) (BuildId: 
0d8d2d6c6a8cebe4)
   #1 0x559242c6fd65 in 
std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, 
std::default_delete<std::thread::_State>>, void ()) 
(/home/ubuntu/doris_master/output/be/lib/doris_be+0x3194cd65) (BuildId: 
0d8d2d6c6a8cebe4)
   #2 0x559224e428d7 in std::MakeUniq<std::thread>::_single_object 
std::make_unique<std::thread, std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>&>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, int)>&) 
/mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
   #3 0x559224e40c98 in std::thread* 
doris::ThreadGroup::create_thread<std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, 
int)>>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::PriorityThreadPool::)(int)> (doris::PriorityThreadPool, int)>) 
/mnt/disk1/yuejing/projects/doris/be/src/util/thread_group.h:65:51
   #4 0x559224e40765 in doris::PriorityThreadPool::PriorityThreadPool(unsigned 
int, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>> const&) 
/mnt/disk1/yuejing/projects/doris/be/src/util/priority_thread_pool.hpp:60:22
   #5 0x559227d1b5d7 in 
doris::PInternalServiceImpl::PInternalServiceImpl(doris::ExecEnv*) 
/mnt/disk1/yuejing/projects/doris/be/src/service/internal_service.cpp:124:11
   #6 0x559227c464f0 in doris::BRpcService::start(int, int) 
/mnt/disk1/yuejing/projects/doris/be/src/service/brpc_service.cpp:46:29
   #7 0x559224d1fe08 in main 
/mnt/disk1/yuejing/projects/doris/be/src/service/doris_main.cpp:474:27
   #8 0x7f2decafb0b2 in __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x240b2) (BuildId: 
9fdb74e7b217d06c93172a8243f8547f947ee6d1)
   
   SUMMARY: AddressSanitizer: heap-buffer-overflow 
/mnt/disk1/yuejing/projects/doris/be/src/vec/utils/util.hpp:73:21 in 
doris::vectorized::VectorizedUtils::update_null_map(doris::vectorized::PODArray<unsigned
 char, 4096ul, Allocator<false, false>, 15ul, 16ul>&, 
doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false>, 
15ul, 16ul> const&)
   ```
   
   ## 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

Reply via email to