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

   
   # Proposed changes
   
   Issue Number: close #xxx
   
   ## Problem summary
   
   Query cause be cordump:
   ```
   select    ORTHOGONAL_BITMAP_UNION_COUNT(     cast(null as bitmap)) from   t;
   ```
   
   coredump stask:
   ```
   ==3246170==ERROR: AddressSanitizer: heap-buffer-overflow on address 
0x604000682878 at pc 0x555e96d6a8f9 bp 0x7faf823fb770 sp 0x7faf823fb768
   READ of size 4 at 0x604000682878 thread T448 (FragmentMgrThre)
   #0 0x555e96d6a8f8 in doris::BitmapValue::operator|=(doris::BitmapValue 
const&) /mnt/disk1//projects/doris/be/src/util/bitmap_value.h:1243:21
   #1 0x555e9e02a769 in 
doris::vectorized::OrthBitmapUnionCountData<doris::StringRef>::add(doris::vectorized::IColumn
 const**, unsigned long) 
/mnt/disk1//projects/doris/be/src/vec/aggregate_functions/aggregate_function_orthogonal_bitmap.h:287:15
   #2 0x555e9e0286b4 in 
doris::vectorized::AggFunctionOrthBitmapFunc<doris::vectorized::OrthBitmapUnionCountData<doris::StringRef>>::add(char*,
 doris::vectorized::IColumn const*, unsigned long, doris::vectorized::Arena) 
const 
/mnt/disk1//projects/doris/be/src/vec/aggregate_functions/aggregate_function_orthogonal_bitmap.h:323:27
   #3 0x555e9e029ad7 in 
doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggFunctionOrthBitmapFunc<doris::vectorized::OrthBitmapUnionCountData<doris::StringRef>>>::add_batch_single_place(unsigned
 long, char*, doris::vectorized::IColumn const*, doris::vectorized::Arena) 
const 
/mnt/disk1//projects/doris/be/src/vec/aggregate_functions/aggregate_function.h:263:48
   #4 0x555ea33b03d4 in 
doris::vectorized::AggFnEvaluator::execute_single_add(doris::vectorized::Block*,
 char*, doris::vectorized::Arena*) 
/mnt/disk1//projects/doris/be/src/vec/exprs/vectorized_agg_fn.cpp:159:16
   #5 0x555e9ed4a9ae in 
doris::vectorized::AggregationNode::_execute_without_key(doris::vectorized::Block*)
 /mnt/disk1//projects/doris/be/src/vec/exec/vaggregation_node.cpp:728:9
   #6 0x555e9f0b8aee in doris::Status std::__invoke_impl<doris::Status, 
doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block), doris::ve
   ctorized::AggregationNode*&, 
doris::vectorized::Block*>(std::__invoke_memfun_deref, doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block)
   , doris::vectorized::AggregationNode*&, doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include
   /c++/11/bits/invoke.h:74:14
   #7 0x555e9f0b892f in std::enable_if<is_invocable_r_v<doris::Status, 
doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block), doris::vec
   torized::AggregationNode*&, doris::vectorized::Block*>, doris::Status>::type 
std::__invoke_r<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::*&)(do
   ris::vectorized::Block*), doris::vectorized::AggregationNode*&, 
doris::vectorized::Block*>(doris::Status 
(doris::vectorized::AggregationNode::*&)(doris::vectorized::
   Block*), doris::vectorized::AggregationNode*&, doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../
   include/c++/11/bits/invoke.h:114:9
   #8 0x555e9f0b8868 in doris::Status std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, st
   d::Placeholder<1>))(doris::vectorized::Block*)>::_call<doris::Status, 
doris::vectorized::Block*&&, 0ul, 
1ul>(std::tuple<doris::vectorized::Block*&&>&&, std::_Index
   _tuple<0ul, 1ul>) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570:11
   #9 0x555e9f0b86bc in doris::Status std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, st
   
d::_Placeholder<1>))(doris::vectorized::Block*)>::operator()<doris::vectorized::Block*>(doris::vectorized::Block*&&)
 /mnt/disk1//projects/ldb_toolchain/bin/..
   /lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629:17
   #10 0x555e9f0b85a7 in doris::Status std::__invoke_impl<doris::Status, 
std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (dori
   s::vectorized::AggregationNode*, 
std::Placeholder<1>))(doris::vectorized::Block*)>&, 
doris::vectorized::Block*>(std::_invoke_other, std::_Bind_result<doris::Status
   , doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized::Block*)>&, doris::vectorized::
   Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #11 0x555e9f0b8527 in std::enable_if<is_invocable_r_v<doris::Status, 
std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (doris
   ::vectorized::AggregationNode*, 
std::Placeholder<1>))(doris::vectorized::Block*)>&, doris::vectorized::Block*>, 
doris::Status>::type std::_invoke_r<doris::Status,
   std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized:
   :Block*)>&, doris::vectorized::Block*>(std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, st
   d::_Placeholder<1>))(doris::vectorized::Block*)>&, 
doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../..
   /../include/c++/11/bits/invoke.h:114:9
   #12 0x555e9f0b8377 in std::_Function_handler<doris::Status 
(doris::vectorized::Block*), std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::Aggreg
   ationNode::* (doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized::Block*)>>::_M_invoke(std::_Any_data 
const&, doris::vectorized::Block*&&)
   
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #13 0x555e9efe3033 in std::function<doris::Status 
(doris::vectorized::Block*)>::operator()(doris::vectorized::Block*) const 
/mnt/disk1//projects/ldb_toolc
   
hain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #14 0x555e9ed555c6 in 
doris::vectorized::AggregationNode::sink(doris::RuntimeState*, 
doris::vectorized::Block*, bool) /mnt/disk1//projects/doris/be/src/ve
   c/exec/vaggregation_node.cpp:570:9
   #15 0x555e9ed55163 in 
doris::vectorized::AggregationNode::open(doris::RuntimeState*) 
/mnt/disk1//projects/doris/be/src/vec/exec/vaggregation_node.cpp:508:
   9
   #16 0x555e97f0cea0 in 
doris::PlanFragmentExecutor::open_vectorized_internal() 
/mnt/disk1//projects/doris/be/src/runtime/plan_fragment_executor.cpp:280:9
   #17 0x555e97f0bd4b in doris::PlanFragmentExecutor::open() 
/mnt/disk1//projects/doris/be/src/runtime/plan_fragment_executor.cpp:242:14
   #18 0x555e97e62917 in doris::FragmentExecState::execute() 
/mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:228:31
   #19 0x555e97e6c7d2 in 
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::RuntimeState*, doris::Status*)> cons
   t&) /mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:493:29
   #20 0x555e97e8892b in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> co
   nst&)::$_3::operator()() const 
/mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:726:21
   #21 0x555e97e887e4 in void std::__invoke_impl<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::Runt
   imeState*, doris::Status*)> const&)::$3&>(std::_invoke_other, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (dor
   is::RuntimeState*, doris::Status*)> const&)::$_3&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invok
   e.h:61:14
   #22 0x555e97e88784 in std::enable_if<is_invocable_r_v<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (dor
   is::RuntimeState*, doris::Status*)> const&)::$3&>, void>::type 
std::_invoke_r<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, s
   td::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//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/b
   its/invoke.h:111:2
   #23 0x555e97e884ec in std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::Ru
   ntimeState*, doris::Status*)> const&)::$_3>::_M_invoke(std::_Any_data 
const&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../.
   ./include/c++/11/bits/std_function.h:291:9
   #24 0x555e96479e82 in std::function<void ()>::operator()() const 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include
   /c++/11/bits/std_function.h:560:9
   #25 0x555e986dc2f8 in doris::FunctionRunnable::run() 
/mnt/disk1//projects/doris/be/src/util/threadpool.cpp:46:27
   #26 0x555e986c8fcb in doris::ThreadPool::dispatch_thread() 
/mnt/disk1//projects/doris/be/src/util/threadpool.cpp:529:24
   #27 0x555e986efbc3 in void std::_invoke_impl<void, void 
(doris::ThreadPool::&)(), doris::ThreadPool&>(std::_invoke_memfun_deref, void 
(doris::ThreadPool::*&)
   (), doris::ThreadPool*&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
   #28 0x555e986efa9c in std::_invoke_result<void (doris::ThreadPool::&)(), 
doris::ThreadPool&>::type std::_invoke<void (doris::ThreadPool::*&)(), 
doris::Thread
   Pool*&>(void (doris::ThreadPool::&)(), doris::ThreadPool&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/
   bits/invoke.h:96:14
   #29 0x555e986efa24 in void std::Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>::_call<void, 0ul>(std::tuple<>&&, 
std::_Index_tuple<0ul>) /mnt/disk1/y
   
uejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420:11
   #30 0x555e986ef8cd in void std::_Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>::operator()<void>() 
/mnt/disk1//projects/ldb_toolchain/bin/../li
   b/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:503:17
   #31 0x555e986ef7e4 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//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #32 0x555e986ef784 in std::enable_if<is_invocable_r_v<void, std::Bind<void 
(doris::ThreadPool::* (doris::ThreadPool*))()>&>, void>::type 
std::_invoke_r<void, s
   td::_Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>&>(std::_Bind<void (doris::ThreadPool::* 
(doris::ThreadPool*))()>&) /mnt/disk1//projects/ldb_tool
   
chain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
   #33 0x555e986ef4ac in std::_Function_handler<void (), std::_Bind<void 
(doris::ThreadPool::* (doris::ThreadPool*))()>>::_M_invoke(std::_Any_data 
const&) /mnt/disk
   
1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #34 0x555e96479e82 in std::function<void ()>::operator()() const 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include
   /c++/11/bits/std_function.h:560:9
   #35 0x555e986a15de in doris::Thread::supervise_thread(void*) 
/mnt/disk1//projects/doris/be/src/util/thread.cpp:453:5
   #36 0x7fb217340179 in start_thread pthread_create.c
   #37 0x7fb217bdadf2 in clone (/lib64/libc.so.6+0xfcdf2) (BuildId: 
20ee73ce1b6ac38a52440bab82ec7e28f0f5c5b9)
   
   0x604000682878 is located 0 bytes to the right of 40-byte region 
[0x604000682850,0x604000682878)
   allocated by thread T448 (FragmentMgrThre) here:
   #0 0x555e96349ded in operator new(unsigned long) 
(/mnt/disk1//projects/doris/output/be/lib/doris_be+0x13391ded) (BuildId: 
4741c897ddd45e27)
   #1 0x555e9ebe1980 in 
COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::ColumnComplexType<doris::BitmapValue>>
 COWHelper<doris::vectorized::IColumn,
   doris::vectorized::ColumnComplexType<doris::BitmapValue>>::create<>() 
/mnt/disk1//projects/doris/be/src/vec/common/cow.h:412:27
   #2 0x555e9ebe6169 in 
doris::vectorized::ColumnComplexType<doris::BitmapValue>::replicate(doris::vectorized::PODArray<unsigned
 int, 4096ul, Allocator<false, false
   >, 15ul, 16ul> const&) const 
/mnt/disk1//projects/doris/be/src/vec/columns/column_complex.h:394:16
   #3 0x555e9e625bef in 
doris::vectorized::ColumnNullable::replicate(doris::vectorized::PODArray<unsigned
 int, 4096ul, Allocator<false, false>, 15ul, 16ul> const&)
   const 
/mnt/disk1//projects/doris/be/src/vec/columns/column_nullable.cpp:536:53
   #4 0x555e9e509326 in 
doris::vectorized::ColumnConst::convert_to_full_column() const 
/mnt/disk1//projects/doris/be/src/vec/columns/column_const.cpp:48:18
   #5 0x555e9e51724f in 
doris::vectorized::ColumnConst::convert_to_full_column_if_const() const 
/mnt/disk1//projects/doris/be/src/vec/columns/column_const.h:
   49:73
   #6 0x555e9f0be5e3 in 
doris::vectorized::Block::replace_by_position_if_const(unsigned long) 
/mnt/disk1//projects/doris/be/src/vec/core/block.h:148:42
   #7 0x555ea33b9936 in void 
doris::vectorized::materialize_block_inplace<int*>(doris::vectorized::Block&, 
int*, int*) /mnt/disk1//projects/doris/be/src/vec/
   core/materialize_block.h:35:15
   #8 0x555ea33b0a8e in 
doris::vectorized::AggFnEvaluator::_calc_argment_columns(doris::vectorized::Block*)
 /mnt/disk1//projects/doris/be/src/vec/exprs/vecto
   rized_agg_fn.cpp:236:5
   #9 0x555ea33b0228 in 
doris::vectorized::AggFnEvaluator::execute_single_add(doris::vectorized::Block*,
 char*, doris::vectorized::Arena*) /mnt/disk1//projec
   ts/doris/be/src/vec/exprs/vectorized_agg_fn.cpp:157:5
   #10 0x555e9ed4a9ae in 
doris::vectorized::AggregationNode::_execute_without_key(doris::vectorized::Block*)
 /mnt/disk1//projects/doris/be/src/vec/exec/vaggr
   egation_node.cpp:728:9
   #11 0x555e9f0b8aee in doris::Status std::__invoke_impl<doris::Status, 
doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block), doris::v
   ectorized::AggregationNode*&, 
doris::vectorized::Block*>(std::__invoke_memfun_deref, doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block
   ), doris::vectorized::AggregationNode*&, doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../includ
   e/c++/11/bits/invoke.h:74:14
   #12 0x555e9f0b892f in std::enable_if<is_invocable_r_v<doris::Status, 
doris::Status 
(doris::vectorized::AggregationNode::&)(doris::vectorized::Block), doris::ve
   ctorized::AggregationNode*&, doris::vectorized::Block*>, 
doris::Status>::type std::__invoke_r<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::*&)(d
   oris::vectorized::Block*), doris::vectorized::AggregationNode*&, 
doris::vectorized::Block*>(doris::Status 
(doris::vectorized::AggregationNode::*&)(doris::vectorized:
   :Block*), doris::vectorized::AggregationNode*&, doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../..
   /include/c++/11/bits/invoke.h:114:9
   #13 0x555e9f0b8868 in doris::Status std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, s
   td::Placeholder<1>))(doris::vectorized::Block*)>::_call<doris::Status, 
doris::vectorized::Block*&&, 0ul, 
1ul>(std::tuple<doris::vectorized::Block*&&>&&, std::_Inde
   x_tuple<0ul, 1ul>) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570:11
   #14 0x555e9f0b86bc in doris::Status std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, s
   
td::_Placeholder<1>))(doris::vectorized::Block*)>::operator()<doris::vectorized::Block*>(doris::vectorized::Block*&&)
 /mnt/disk1//projects/ldb_toolchain/bin/.
   ./lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629:17
   #15 0x555e9f0b85a7 in doris::Status std::__invoke_impl<doris::Status, 
std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (dori
   s::vectorized::AggregationNode*, 
std::Placeholder<1>))(doris::vectorized::Block*)>&, 
doris::vectorized::Block*>(std::_invoke_other, std::_Bind_result<doris::Status
   , doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized::Block*)>&, doris::vectorized::
   Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
   #16 0x555e9f0b8527 in std::enable_if<is_invocable_r_v<doris::Status, 
std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (doris
   ::vectorized::AggregationNode*, 
std::Placeholder<1>))(doris::vectorized::Block*)>&, doris::vectorized::Block*>, 
doris::Status>::type std::_invoke_r<doris::Status,
   std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::AggregationNode::* (doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized:
   :Block*)>&, doris::vectorized::Block*>(std::_Bind_result<doris::Status, 
doris::Status (doris::vectorized::AggregationNode::* 
(doris::vectorized::AggregationNode*, st
   d::_Placeholder<1>))(doris::vectorized::Block*)>&, 
doris::vectorized::Block*&&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../..
   /../include/c++/11/bits/invoke.h:114:9
   #17 0x555e9f0b8377 in std::_Function_handler<doris::Status 
(doris::vectorized::Block*), std::_Bind_result<doris::Status, doris::Status 
(doris::vectorized::Aggreg
   ationNode::* (doris::vectorized::AggregationNode*, 
std::_Placeholder<1>))(doris::vectorized::Block*)>>::_M_invoke(std::_Any_data 
const&, doris::vectorized::Block*&&)
   
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
   #18 0x555e9efe3033 in std::function<doris::Status 
(doris::vectorized::Block*)>::operator()(doris::vectorized::Block*) const 
/mnt/disk1//projects/ldb_toolc
   
hain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
   #19 0x555e9ed555c6 in 
doris::vectorized::AggregationNode::sink(doris::RuntimeState*, 
doris::vectorized::Block*, bool) /mnt/disk1//projects/doris/be/src/ve
   c/exec/vaggregation_node.cpp:570:9
   #20 0x555e9ed55163 in 
doris::vectorized::AggregationNode::open(doris::RuntimeState*) 
/mnt/disk1//projects/doris/be/src/vec/exec/vaggregation_node.cpp:508:
   9
   #21 0x555e97f0cea0 in 
doris::PlanFragmentExecutor::open_vectorized_internal() 
/mnt/disk1//projects/doris/be/src/runtime/plan_fragment_executor.cpp:280:9
   #22 0x555e97f0bd4b in doris::PlanFragmentExecutor::open() 
/mnt/disk1//projects/doris/be/src/runtime/plan_fragment_executor.cpp:242:14
   #23 0x555e97e62917 in doris::FragmentExecState::execute() 
/mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:228:31
   #24 0x555e97e6c7d2 in 
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, 
std::function<void (doris::RuntimeState*, doris::Status*)> cons
   t&) /mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:493:29
   #25 0x555e97e8892b in 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> co
   nst&)::$_3::operator()() const 
/mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:726:21
   #26 0x555e97e887e4 in void std::__invoke_impl<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::Runt
   imeState*, doris::Status*)> const&)::$3&>(std::_invoke_other, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (dor
   is::RuntimeState*, doris::Status*)> const&)::$_3&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invok
   e.h:61:14
   #27 0x555e97e88784 in std::enable_if<is_invocable_r_v<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (dor
   is::RuntimeState*, doris::Status*)> const&)::$3&>, void>::type 
std::_invoke_r<void, 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, s
   td::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//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/b
   its/invoke.h:111:2
   #28 0x555e97e884ec in std::_Function_handler<void (), 
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, 
std::function<void (doris::Ru
   ntimeState*, doris::Status*)> const&)::$_3>::_M_invoke(std::_Any_data 
const&) 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../.
   ./include/c++/11/bits/std_function.h:291:9
   #29 0x555e96479e82 in std::function<void ()>::operator()() const 
/mnt/disk1//projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include
   /c++/11/bits/std_function.h:560:9
   
   Thread T448 (FragmentMgrThre) created by T0 here:
   #0 0x555e962f8a9c in pthread_create 
(/mnt/disk1//projects/doris/output/be/lib/doris_be+0x13340a9c) (BuildId: 
4741c897ddd45e27)
   #1 0x555e986a05e4 in 
doris::Thread::start_thread(std::_cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>> const&, std::_cxx11::basic_strin
   g<char, std::char_traits<char>, std::allocator<char>> const&, 
std::function<void ()> const&, unsigned long, scoped_refptr<doris::Thread>*) 
/mnt/disk1//project
   s/doris/be/src/util/thread.cpp:407:15
   #2 0x555e986d304d in doris::Status doris::Thread::create<void 
(doris::ThreadPool::)(), doris::ThreadPool>(std::__cxx11::basic_string<char, 
std::char_traits<cha
   r>, 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//projects/doris/be/src/util/thread.h:57:16
   #3 0x555e986c678d in doris::ThreadPool::create_thread() 
/mnt/disk1//projects/doris/be/src/util/threadpool.cpp:597:12
   #4 0x555e986c626b in doris::ThreadPool::init() 
/mnt/disk1//projects/doris/be/src/util/threadpool.cpp:257:25
   #4 0x555e986c626b in doris::ThreadPool::init() 
/mnt/disk1//projects/doris/be/src/util/threadpool.cpp:257:25
   #5 0x555e9655abc6 in doris::Status 
doris::ThreadPoolBuilder::build<doris::ThreadPool>(std::unique_ptr<doris::ThreadPool,
 std::default_delete<doris::ThreadPool>>*
   ) const /mnt/disk1//projects/doris/be/src/util/threadpool.h:114:13
   #6 0x555e97e649c2 in doris::FragmentMgr::FragmentMgr(doris::ExecEnv*) 
/mnt/disk1//projects/doris/be/src/runtime/fragment_mgr.cpp:294:18
   #7 0x555e97c912c7 in doris::ExecEnv::_init(std::vector<doris::StorePath, 
std::allocator<doris::StorePath>> const&) 
/mnt/disk1//projects/doris/be/src/runti
   me/exec_env_init.cpp:124:25
   #8 0x555e97c90047 in doris::ExecEnv::init(doris::ExecEnv*, 
std::vector<doris::StorePath, std::allocator<doris::StorePath>> const&) 
/mnt/disk1//projects/do
   ris/be/src/runtime/exec_env_init.cpp:75:17
   #9 0x555e96351339 in main 
/mnt/disk1//projects/doris/be/src/service/doris_main.cpp:438:5
   #10 0x7fb217b01492 in __libc_start_main (/lib64/libc.so.6+0x23492) (BuildId: 
20ee73ce1b6ac38a52440bab82ec7e28f0f5c5b9)
   
   SUMMARY: AddressSanitizer: heap-buffer-overflow 
/mnt/disk1//projects/doris/be/src/util/bitmap_value.h:1243:21 in 
doris::BitmapValue::operator|=(doris::BitmapV
   alue const&)
   ```
   The reason is that function `orthogonal_bitmap_union_count` did not handle 
nullable type correctly.
   
   ## 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