You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "jacktengg (via GitHub)" <gi...@apache.org> on 2023/04/17 07:49:39 UTC

[GitHub] [doris] jacktengg opened a new pull request, #18737: [fix](const column) fix coredump caused by const column for some functions

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 [dev@doris.apache.org](mailto:dev@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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #18737:
URL: https://github.com/apache/doris/pull/18737#issuecomment-1512369294

   PR approved by at least one committer and no changes requested.


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #18737:
URL: https://github.com/apache/doris/pull/18737#issuecomment-1512369324

   PR approved by anyone and no changes requested.


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] github-actions[bot] commented on pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #18737:
URL: https://github.com/apache/doris/pull/18737#issuecomment-1510874944

   clang-tidy review says "All clean, LGTM! :+1:"


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] jacktengg commented on pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "jacktengg (via GitHub)" <gi...@apache.org>.
jacktengg commented on PR #18737:
URL: https://github.com/apache/doris/pull/18737#issuecomment-1510898837

   run buildall


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] hello-stephen commented on pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #18737:
URL: https://github.com/apache/doris/pull/18737#issuecomment-1511014912

   TeamCity pipeline, clickbench performance test result:
    the sum of best hot time: 33.87 seconds
    stream load tsv:          430 seconds loaded 74807831229 Bytes, about 165 MB/s
    stream load json:         24 seconds loaded 2358488459 Bytes, about 93 MB/s
    stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
    stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
    https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230417093415_clickbench_pr_130022.html


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


[GitHub] [doris] yiguolei merged pull request #18737: [fix](const column) fix coredump caused by const column for some functions

Posted by "yiguolei (via GitHub)" <gi...@apache.org>.
yiguolei merged PR #18737:
URL: https://github.com/apache/doris/pull/18737


-- 
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-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org