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

   ## Proposed changes
   
   Issue Number: close #xxx
   
   - Issue 1: Wrong result for operator <=>
   
   Reporduce:
   
   ```
   drop table if exists test_eq_for_null_nullable;
   create table test_eq_for_null_nullable(
        k1 int 
        ) distributed by hash(k1) properties("replication_num"="1");
   
   insert into test_eq_for_null_nullable values (null), (null), (null), (null); 
   
   drop table if exists test_eq_for_null_nullable2;
   create table test_eq_for_null_nullable2(
        k1 int 
        ) distributed by hash(k1) properties("replication_num"="1");
   
    insert into test_eq_for_null_nullable2 values 
           (null),(0),(1),(2),(3);
   
   select * from test_eq_for_null_nullable a, test_eq_for_null_nullable2 b 
where a.k1 <=> b.k1;
   ```
   
   Expected result:
   ```
   +------+------+
   | k1   | k1   |
   +------+------+
   | NULL | NULL |
   | NULL | NULL |
   | NULL | NULL |
   | NULL | NULL |
   +------+------+
   ```
   
   Actual result:
   ```
   mysql [regression_test_correctness_p0]>select * from 
test_eq_for_null_nullable a, test_eq_for_null_nullable2 b where a.k1 <=> b.k1;
   +------+------+
   | k1   | k1   |
   +------+------+
   | NULL | NULL |
   | NULL |    0 |
   | NULL | NULL |
   | NULL |    0 |
   | NULL | NULL |
   | NULL |    0 |
   | NULL | NULL |
   | NULL |    0 |
   +------+------+
   8 rows in set (0.04 sec)
   ```
   
   - Issue 2: be coredump
   Reproduce:
   ```
   create table test_eq_for_null (
        k1 int 
        ) distributed by hash(k1) properties("replication_num"="1");
   
   insert into test_eq_for_null values 
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null),
   (null), (null), (null),(null),(null),(null),(null),(null);  
   select * from test_eq_for_null where k1 <=> null;
   
   ```
   coredump callstack:
   ```
   start time: Mon Nov 20 16:58:13 HKT 2023
   INFO: java_cmd /mnt/disk2/tengjianping/local/jdk1.8.0_131/bin/java
   INFO: jdk_version 8
   =================================================================
   ==4194119==ERROR: AddressSanitizer: heap-buffer-overflow on address 
0x60600331aee0 at pc 0x55f5969afd0f bp 0x7d6db9482840 sp 0x7d6db9482838
   READ of size 4 at 0x60600331aee0 thread T566 (_scanner_scan)
       #0 0x55f5969afd0e in doris::vectorized::NumComparisonImpl<int, int, 
doris::vectorized::EqualsOp<int, 
int>>::vector_vector(doris::vectorized::PODArray<int, 4096ul, Allocator<false, 
false, false>, 15ul, 16ul> const&, doris::vectorized::PODArray<int, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul> const&, 
doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, 
false>, 15ul, 16ul>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/functions_comparison.h:70:40
       #1 0x55f5969a85f0 in bool 
doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, 
doris::vectorized::NameEquals>::execute_num_right_type<int, 
int>(doris::vectorized::Block&, unsigned long, 
doris::vectorized::ColumnVector<int> const*, doris::vectorized::IColumn const*) 
const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/functions_comparison.h:282:13
       #2 0x55f59694ae9c in bool 
doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, 
doris::vectorized::NameEquals>::execute_num_left_type<int>(doris::vectorized::Block&,
 unsigned long, doris::vectorized::IColumn const*, doris::vectorized::IColumn 
const*) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/functions_comparison.h:343:17
       #3 0x55f596945284 in 
doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, 
doris::vectorized::NameEquals>::execute_impl(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/functions_comparison.h:584:19
       #4 0x55f5960245c5 in 
doris::vectorized::DefaultExecutable::execute_impl(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.h:506:26
       #5 0x55f599bfb482 in 
doris::vectorized::PreparedFunctionImpl::_execute_skipped_constant_deal(doris::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:151:16
       #6 0x55f599befb20 in 
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:262:12
       #7 0x55f599befc3f in 
doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:268:12
       #8 0x55f59602140a in 
doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.h:177:19
       #9 0x55f5969387ea in 
doris::vectorized::FunctionEqForNull::execute_impl(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/comparison_equal_for_null.cpp:103:30
       #10 0x55f5960245c5 in 
doris::vectorized::DefaultExecutable::execute_impl(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.h:506:26
       #11 0x55f599bfb482 in 
doris::vectorized::PreparedFunctionImpl::_execute_skipped_constant_deal(doris::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:151:16
       #12 0x55f599befb20 in 
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:262:12
       #13 0x55f599befc3f in 
doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.cpp:268:12
       #14 0x55f59602140a in 
doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long>> const&, unsigned long, unsigned long, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/functions/function.h:177:19
       #15 0x55f59601168a in 
doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, 
doris::vectorized::Block*, int*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vectorized_fn_call.cpp:164:5
       #16 0x55f5960af67d in 
doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr_context.cpp:60:5
       #17 0x55f5960b4d59 in 
doris::vectorized::VExprContext::execute_conjuncts(std::vector<std::shared_ptr<doris::vectorized::VExprContext>,
 std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>> const&, 
std::vector<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, 
false, false>, 15ul, 16ul>*, 
std::allocator<doris::vectorized::PODArray<unsigned char, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>*>> const*, bool, 
doris::vectorized::Block*, doris::vectorized::PODArray<unsigned char, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>*, bool*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr_context.cpp:167:9
       #18 0x55f5960b5ed8 in 
doris::vectorized::VExprContext::execute_conjuncts_and_filter_block(std::vector<std::shared_ptr<doris::vectorized::VExprContext>,
 std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>> const&, 
doris::vectorized::Block*, std::vector<unsigned int, std::allocator<unsigned 
int>>&, int, doris::vectorized::PODArray<unsigned char, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr_context.cpp:276:5
       #19 0x55f5771d5bc6 in 
doris::segment_v2::SegmentIterator::_execute_common_expr(unsigned short*, 
unsigned short&, doris::vectorized::Block*) 
/mnt/disk2/tengjianping/doris-39/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2199:5
       #20 0x55f5771d2e81 in 
doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*)
 
/mnt/disk2/tengjianping/doris-39/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2128:17
       #21 0x55f5771ccee3 in 
doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*)::$_0::operator()()
 const 
/mnt/disk2/tengjianping/doris-39/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1950:27
       #22 0x55f5771cca3e in 
doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) 
/mnt/disk2/tengjianping/doris-39/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1950:19
       #23 0x55f57730e74d in 
doris::BetaRowsetReader::next_block(doris::vectorized::Block*) 
/mnt/disk2/tengjianping/doris-39/be/src/olap/rowset/beta_rowset_reader.cpp:305:29
       #24 0x55f5a54fcfcf in 
doris::vectorized::VCollectIterator::Level0Iterator::_refresh() 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/vcollect_iterator.h:256:36
       #25 0x55f5a54e9547 in 
doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/vcollect_iterator.cpp:509:24
       #26 0x55f5a54e9ee9 in 
doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/vcollect_iterator.cpp:488:14
       #27 0x55f5a54f079e in 
doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/vcollect_iterator.cpp:687:27
       #28 0x55f5a54e1362 in 
doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>,
 std::allocator<std::shared_ptr<doris::RowsetReader>>>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/vcollect_iterator.cpp:183:9
       #29 0x55f5a54841e1 in 
doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams
 const&) /mnt/disk2/tengjianping/doris-39/be/src/vec/olap/block_reader.cpp:154:5
       #30 0x55f5a548676e in 
doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/olap/block_reader.cpp:232:19
       #31 0x55f5953180b9 in 
doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exec/scan/new_olap_scanner.cpp:221:32
       #32 0x55f595399cfb in 
doris::vectorized::ScannerScheduler::_scanner_scan(doris::vectorized::ScannerScheduler*,
 doris::vectorized::ScannerContext*, 
std::shared_ptr<doris::vectorized::VScanner>) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exec/scan/scanner_scheduler.cpp:363:27
       #33 0x55f59539f55e in 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()::operator()() const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exec/scan/scanner_scheduler.cpp:264:35
       #34 0x55f59539f414 in void std::__invoke_impl<void, 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()&>(std::__invoke_other, 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
       #35 0x55f59539f3b4 in std::enable_if<is_invocable_r_v<void, 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()&>, void>::type std::__invoke_r<void, 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 
const::'lambda2'()&>(doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
       #36 0x55f59539f21c in std::_Function_handler<void (), 
doris::vectorized::ScannerScheduler::_schedule_scanners(doris::vectorized::ScannerContext*)::$_1::operator()()
 const::'lambda2'()>::_M_invoke(std::_Any_data const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9
       #37 0x55f5767a60c2 in std::function<void ()>::operator()() const 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9
       #38 0x55f5767a7cbc in doris::WorkThreadPool<true>::work_thread(int) 
/mnt/disk2/tengjianping/doris-39/be/src/util/work_thread_pool.hpp:159:17
       #39 0x55f5767a9f12 in void std::__invoke_impl<void, void 
(doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, 
int&>(std::__invoke_memfun_deref, void (doris::WorkThreadPool<true>::* 
const&)(int), doris::WorkThreadPool<true>*&, int&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74:14
       #40 0x55f5767a9de4 in std::__invoke_result<void 
(doris::WorkThreadPool<true>::* const&)(int), doris::WorkThreadPool<true>*&, 
int&>::type std::__invoke<void (doris::WorkThreadPool<true>::* const&)(int), 
doris::WorkThreadPool<true>*&, int&>(void (doris::WorkThreadPool<true>::* 
const&)(int), doris::WorkThreadPool<true>*&, int&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
       #41 0x55f5767a9db4 in decltype(std::__invoke((*this)._M_pmf, 
std::forward<doris::WorkThreadPool<true>*&>(fp), std::forward<int&>(fp))) 
std::_Mem_fn_base<void (doris::WorkThreadPool<true>::*)(int), 
true>::operator()<doris::WorkThreadPool<true>*&, 
int&>(doris::WorkThreadPool<true>*&, int&) const 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:131:11
       #42 0x55f5767a9d84 in void std::__invoke_impl<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, 
int&>(std::__invoke_other, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
       #43 0x55f5767a9cd4 in std::enable_if<is_invocable_r_v<void, 
std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, 
doris::WorkThreadPool<true>*&, int&>, void>::type std::__invoke_r<void, 
std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)>&, 
doris::WorkThreadPool<true>*&, int&>(std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)>&, doris::WorkThreadPool<true>*&, int&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2
       #44 0x55f5767a9c33 in void std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>::__call<void, 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:570:11
       #45 0x55f5767a9a9d in void std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>::operator()<>() 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:629:17
       #46 0x55f5767a99b4 in void std::__invoke_impl<void, 
std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>>(std::__invoke_other, std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14
       #47 0x55f5767a9974 in std::__invoke_result<std::_Bind_result<void, 
std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> 
(doris::WorkThreadPool<true>*, int)>>::type 
std::__invoke<std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96:14
       #48 0x55f5767a994c in void 
std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>>>::_M_invoke<0ul>(std::_Index_tuple<0ul>) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:253:13
       #49 0x55f5767a9924 in 
std::thread::_Invoker<std::tuple<std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>>>::operator()() 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:260:11
       #50 0x55f5767a98a8 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind_result<void,
 std::_Mem_fn<void (doris::WorkThreadPool<true>::*)(int)> 
(doris::WorkThreadPool<true>*, int)>>>>::_M_run() 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_thread.h:211:13
       #51 0x55f5aaa7d50f in execute_native_thread_routine 
/data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/thread.cc:82:18
       #52 0x7f97365bb179 in start_thread pthread_create.c
       #53 0x7f973706ddf2 in clone (/lib64/libc.so.6+0xfcdf2) (BuildId: 
20ee73ce1b6ac38a52440bab82ec7e28f0f5c5b9)
   
   0x60600331aee0 is located 0 bytes after 64-byte region 
[0x60600331aea0,0x60600331aee0)
   allocated by thread T489 (FragmentMgrThre) here:
       #0 0x55f5765bbb7e in malloc 
(/mnt/disk2/tengjianping/doris-39/output/be/lib/doris_be+0x20ca8b7e) (BuildId: 
2800c1e5dc780dcf)
       #1 0x55f5893ac034 in Allocator<false, false, false>::alloc_impl(unsigned 
long, unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/common/allocator.h:122:27
       #2 0x55f5893abd44 in Allocator<false, false, false>::alloc(unsigned 
long, unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/common/allocator.cpp:200:12
       #3 0x55f576f24c84 in void doris::vectorized::PODArrayBase<4ul, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>::alloc<>(unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/common/pod_array.h:142:63
       #4 0x55f576f254f9 in void doris::vectorized::PODArrayBase<4ul, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>::realloc<>(unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/common/pod_array.h:161:13
       #5 0x55f576f25491 in void doris::vectorized::PODArrayBase<4ul, 4096ul, 
Allocator<false, false, false>, 15ul, 16ul>::reserve<>(unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/common/pod_array.h:235:13
       #6 0x55f584626060 in 
doris::vectorized::ColumnVector<int>::reserve(unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/columns/column_vector.h:345:44
       #7 0x55f588e6d34b in doris::vectorized::ColumnNullable::reserve(unsigned 
long) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/columns/column_nullable.cpp:478:25
       #8 0x55f5894a0ee9 in 
doris::vectorized::IDataType::create_column_const(unsigned long, 
doris::vectorized::Field const&) const 
/mnt/disk2/tengjianping/doris-39/be/src/vec/data_types/data_type.cpp:73:13
       #9 0x55f5960ccdb3 in doris::vectorized::VLiteral::init(doris::TExprNode 
const&) /mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vliteral.cpp:58:31
       #10 0x55f5796896c1 in 
doris::vectorized::VLiteral::VLiteral(doris::TExprNode const&, bool) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vliteral.h:42:13
       #11 0x55f59604bce5 in decltype(::new((void*)(0)) 
doris::vectorized::VLiteral(std::declval<doris::TExprNode const&>())) 
std::construct_at<doris::vectorized::VLiteral, doris::TExprNode 
const&>(doris::vectorized::VLiteral*, doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:97:39
       #12 0x55f59604bcb0 in void 
std::allocator_traits<std::allocator<doris::vectorized::VLiteral>>::construct<doris::vectorized::VLiteral,
 doris::TExprNode const&>(std::allocator<doris::vectorized::VLiteral>&, 
doris::vectorized::VLiteral*, doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:514:4
       #13 0x55f59604bbc4 in 
std::_Sp_counted_ptr_inplace<doris::vectorized::VLiteral, 
std::allocator<doris::vectorized::VLiteral>, 
(__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<doris::TExprNode 
const&>(std::allocator<doris::vectorized::VLiteral>, doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:519:4
       #14 0x55f59604b8a9 in 
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<doris::vectorized::VLiteral,
 std::allocator<doris::vectorized::VLiteral>, doris::TExprNode 
const&>(doris::vectorized::VLiteral*&, 
std::_Sp_alloc_shared_tag<std::allocator<doris::vectorized::VLiteral>>, 
doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:651:6
       #15 0x55f59604b5f5 in std::__shared_ptr<doris::vectorized::VLiteral, 
(__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<doris::vectorized::VLiteral>,
 doris::TExprNode 
const&>(std::_Sp_alloc_shared_tag<std::allocator<doris::vectorized::VLiteral>>, 
doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1337:14
       #16 0x55f59604b3e5 in 
std::shared_ptr<doris::vectorized::VLiteral>::shared_ptr<std::allocator<doris::vectorized::VLiteral>,
 doris::TExprNode 
const&>(std::_Sp_alloc_shared_tag<std::allocator<doris::vectorized::VLiteral>>, 
doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr.h:409:4
       #17 0x55f59604b222 in std::shared_ptr<doris::vectorized::VLiteral> 
std::allocate_shared<doris::vectorized::VLiteral, 
std::allocator<doris::vectorized::VLiteral>, doris::TExprNode 
const&>(std::allocator<doris::vectorized::VLiteral> const&, doris::TExprNode 
const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr.h:860:14
       #18 0x55f59604b00b in std::shared_ptr<doris::vectorized::VLiteral> 
std::make_shared<doris::vectorized::VLiteral, doris::TExprNode 
const&>(doris::TExprNode const&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr.h:876:14
       #19 0x55f5960475ef in std::shared_ptr<doris::vectorized::VLiteral> 
doris::vectorized::VLiteral::create_shared<doris::TExprNode 
const&>(doris::TExprNode const&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vliteral.h:36:5
       #20 0x55f59603173a in 
doris::vectorized::VExpr::create_expr(doris::TExprNode const&, 
std::shared_ptr<doris::vectorized::VExpr>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr.cpp:245:20
       #21 0x55f596033441 in 
doris::vectorized::VExpr::create_tree_from_thrift(std::vector<doris::TExprNode, 
std::allocator<doris::TExprNode>> const&, int*, 
std::shared_ptr<doris::vectorized::VExpr>&, 
std::shared_ptr<doris::vectorized::VExprContext>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr.cpp:366:9
       #22 0x55f596033e40 in 
doris::vectorized::VExpr::create_expr_tree(doris::TExpr const&, 
std::shared_ptr<doris::vectorized::VExprContext>&) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exprs/vexpr.cpp:384:21
       #23 0x55f5797cf2f0 in doris::ExecNode::init(doris::TPlanNode const&, 
doris::RuntimeState*) 
/mnt/disk2/tengjianping/doris-39/be/src/exec/exec_node.cpp:113:13
       #24 0x55f5954805e6 in 
doris::vectorized::VScanNode::init(doris::TPlanNode const&, 
doris::RuntimeState*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exec/scan/vscan_node.cpp:93:5
       #25 0x55f5797d4e17 in 
doris::ExecNode::create_tree_helper(doris::RuntimeState*, doris::ObjectPool*, 
std::vector<doris::TPlanNode, std::allocator<doris::TPlanNode>> const&, 
doris::DescriptorTbl const&, doris::ExecNode*, int*, doris::ExecNode**) 
/mnt/disk2/tengjianping/doris-39/be/src/exec/exec_node.cpp:304:5
       #26 0x55f5797d42f3 in doris::ExecNode::create_tree(doris::RuntimeState*, 
doris::ObjectPool*, doris::TPlan const&, doris::DescriptorTbl const&, 
doris::ExecNode**) 
/mnt/disk2/tengjianping/doris-39/be/src/exec/exec_node.cpp:252:5
       #27 0x55f5a6ea6603 in 
doris::pipeline::PipelineFragmentContext::prepare(doris::TPipelineFragmentParams
 const&, unsigned long) 
/mnt/disk2/tengjianping/doris-39/be/src/pipeline/pipeline_fragment_context.cpp:257:5
       #28 0x55f579569b6f in 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_1::operator()(int) const 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/fragment_mgr.cpp:902:44
       #29 0x55f57957be89 in 
doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, 
std::function<void (doris::RuntimeState*, doris::Status*)> 
const&)::$_0::operator()() const 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/fragment_mgr.cpp:934:41
   
   Thread T566 (_scanner_scan) created by T0 here:
       #0 0x55f5765a3caa in pthread_create 
(/mnt/disk2/tengjianping/doris-39/output/be/lib/doris_be+0x20c90caa) (BuildId: 
2800c1e5dc780dcf)
       #1 0x55f5aaa7d635 in __gthread_create 
/data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663:35
       #2 0x55f5aaa7d635 in 
std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, 
std::default_delete<std::thread::_State>>, void (*)()) 
/data/gcc-11.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/thread.cc:147:37
       #3 0x55f5767a8fa7 in std::_MakeUniq<std::thread>::__single_object 
std::make_unique<std::thread, std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>&>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>&) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
       #4 0x55f5767a7638 in std::thread* 
doris::ThreadGroup::create_thread<std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, 
int)>>(std::_Bind_result<void, std::_Mem_fn<void 
(doris::WorkThreadPool<true>::*)(int)> (doris::WorkThreadPool<true>*, int)>) 
/mnt/disk2/tengjianping/doris-39/be/src/util/thread_group.h:65:51
       #5 0x55f5767a70a5 in 
doris::WorkThreadPool<true>::WorkThreadPool(unsigned int, unsigned int, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> 
const&) /mnt/disk2/tengjianping/doris-39/be/src/util/work_thread_pool.hpp:64:22
       #6 0x55f5953ad546 in 
std::_MakeUniq<doris::WorkThreadPool<true>>::__single_object 
std::make_unique<doris::WorkThreadPool<true>, int&, int&, char const (&) 
[11]>(int&, int&, char const (&) [11]) 
/mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:962:34
       #7 0x55f59539365c in 
doris::vectorized::ScannerScheduler::init(doris::ExecEnv*) 
/mnt/disk2/tengjianping/doris-39/be/src/vec/exec/scan/scanner_scheduler.cpp:121:31
       #8 0x55f57947e692 in doris::ExecEnv::_init(std::vector<doris::StorePath, 
std::allocator<doris::StorePath>> const&, 
std::set<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>>>, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>>> const&) 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/exec_env_init.cpp:233:34
       #9 0x55f57947bd6f in doris::ExecEnv::init(doris::ExecEnv*, 
std::vector<doris::StorePath, std::allocator<doris::StorePath>> const&, 
std::set<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>>>, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>>> const&) 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/exec_env_init.cpp:140:17
       #10 0x55f5765fe7cd in main 
/mnt/disk2/tengjianping/doris-39/be/src/service/doris_main.cpp:486:14
       #11 0x7f9736f94492 in __libc_start_main (/lib64/libc.so.6+0x23492) 
(BuildId: 20ee73ce1b6ac38a52440bab82ec7e28f0f5c5b9)
   
   Thread T489 (FragmentMgrThre) created by T0 here:
       #0 0x55f5765a3caa in pthread_create 
(/mnt/disk2/tengjianping/doris-39/output/be/lib/doris_be+0x20c90caa) (BuildId: 
2800c1e5dc780dcf)
       #1 0x55f57a06ca5f 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/disk2/tengjianping/doris-39/be/src/util/thread.cpp:449:15
       #2 0x55f57a0aeddd 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/disk2/tengjianping/doris-39/be/src/util/thread.h:56:16
       #3 0x55f57a0a052d in doris::ThreadPool::create_thread() 
/mnt/disk2/tengjianping/doris-39/be/src/util/threadpool.cpp:611:12
       #4 0x55f57a0a000b in doris::ThreadPool::init() 
/mnt/disk2/tengjianping/doris-39/be/src/util/threadpool.cpp:265:25
       #5 0x55f576862056 in doris::Status 
doris::ThreadPoolBuilder::build<doris::ThreadPool>(std::unique_ptr<doris::ThreadPool,
 std::default_delete<doris::ThreadPool>>*) const 
/mnt/disk2/tengjianping/doris-39/be/src/util/threadpool.h:121:13
       #6 0x55f579553093 in doris::FragmentMgr::FragmentMgr(doris::ExecEnv*) 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/fragment_mgr.cpp:131:18
       #7 0x55f57947d598 in doris::ExecEnv::_init(std::vector<doris::StorePath, 
std::allocator<doris::StorePath>> const&, 
std::set<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>>>, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>>> const&) 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/exec_env_init.cpp:200:25
       #8 0x55f57947bd6f in doris::ExecEnv::init(doris::ExecEnv*, 
std::vector<doris::StorePath, std::allocator<doris::StorePath>> const&, 
std::set<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char>>>, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char>>>> const&) 
/mnt/disk2/tengjianping/doris-39/be/src/runtime/exec_env_init.cpp:140:17
       #9 0x55f5765fe7cd in main 
/mnt/disk2/tengjianping/doris-39/be/src/service/doris_main.cpp:486:14
       #10 0x7f9736f94492 in __libc_start_main (/lib64/libc.so.6+0x23492) 
(BuildId: 20ee73ce1b6ac38a52440bab82ec7e28f0f5c5b9)
   ```
   
   ## 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