jacktengg opened a new issue, #10595: URL: https://github.com/apache/doris/issues/10595
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and found no similar issues. ### Version master-e68ab00 ### What's Wrong? Found this issue when verifying issue #10576 coredump stack: ` #0 0x000055555b629f3e in COW<doris::vectorized::IColumn>::intrusive_ptr<doris::vectorized::IColumn const>::operator*() const & (this=0x38) at /mnt/disk/tengjianping/doris/be/src/vec/common/cow.h:204 #1 0x000055555cfe656d in doris::RuntimeFilterSlotsBase<doris::vectorized::VExprContext>::insert (this=0x7fff1c128340, datas=...) at /mnt/disk/tengjianping/doris/be/src/exprs/runtime_filter_slots.h:177 #2 0x000055555cfe15e3 in doris::vectorized::ProcessRuntimeFilterBuild<doris::vectorized::PrimaryTypeHashTableContext<unsigned int> >::operator() (this=0x7fff1c128be0, state=0x555565987000, hash_table_ctx=...) at /mnt/disk/tengjianping/doris/be/src/vec/exec/join/vhash_join_node.cpp:152 #3 0x000055555cd684f4 in operator()<doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&> (__closure=0x7fff1c128ea0, arg=...) at /mnt/disk/tengjianping/doris/be/src/vec/exec/join/vhash_join_node.cpp:1051 #4 0x000055555cd66b4f in std::__invoke_impl<doris::Status, doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*)::<lambda(auto:36&&)>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&>(std::__invoke_other, struct {...} &&) (__f=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:61 #5 0x000055555cd51ba4 in std::__invoke<doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*)::<lambda(auto:36&&)>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&>(struct {...} &&) ( __fn=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:97 #6 0x000055555cd361c6 in std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<doris::Status> (*)(doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*)::<lambda(auto:36&&)>&&, std::variant<std::monostate, doris::vectorized::SerializedHashTableContext, doris::vectorized::PrimaryTypeHashTableContext<unsigned char>, doris::vectorized::PrimaryTypeHashTableContext<short unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<long unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt128>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt256>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, true>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, true>, doris::vector ized::FixedKeyHashTableContext<doris::vectorized::UInt128, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, false> >&)>, std::integer_sequence<long unsigned int, 4> >::__visit_invoke(struct {...} &&, std::variant<std::monostate, doris::vectorized::SerializedHashTableContext, doris::vectorized::PrimaryTypeHashTableContext<unsigned char>, doris::vectorized::PrimaryTypeHashTableContext<unsigned short>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<unsigned long>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt128>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt256>, doris::vectorized::FixedKeyHashTableContext<unsigned long, true>, doris::vectorized::FixedKeyHashTableContext<unsigned long, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, tr ue>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, false> > &) (__visitor=..., __vars#0=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/variant:1015 #7 0x000055555cd36814 in std::__do_visit<std::__detail::__variant::__deduce_visit_result<doris::Status>, doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*)::<lambda(auto:36&&)>, std::variant<std::monostate, doris::vectorized::SerializedHashTableContext, doris::vectorized::PrimaryTypeHashTableContext<unsigned char>, doris::vectorized::PrimaryTypeHashTableContext<short unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<long unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt128>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt256>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, true>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, false>, doris ::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, false> >&>(struct {...} &&) (__visitor=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/variant:1715 #8 0x000055555cd368ac in std::visit<doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*)::<lambda(auto:36&&)>, std::variant<std::monostate, doris::vectorized::SerializedHashTableContext, doris::vect--Type <RET> for more, q to quit, c to continue without paging--c orized::PrimaryTypeHashTableContext<unsigned char>, doris::vectorized::PrimaryTypeHashTableContext<short unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<long unsigned int>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt128>, doris::vectorized::PrimaryTypeHashTableContext<doris::vectorized::UInt256>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, true>, doris::vectorized::FixedKeyHashTableContext<long unsigned int, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, false> >&>(struct {...} &&) (__visitor=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/variant:1766 #9 0x000055555cd36f0e in doris::vectorized::HashJoinNode::_hash_table_build (this=0x555564b88300, state=0x555565987000) at /mnt/disk/tengjianping/doris/be/src/vec/exec/join/vhash_join_node.cpp:1056 #10 0x000055555cd357ae in doris::vectorized::HashJoinNode::_hash_table_build_thread (this=0x555564b88300, state=0x555565987000, status=0x7fffabd5a910) at /mnt/disk/tengjianping/doris/be/src/vec/exec/join/vhash_join_node.cpp:1002 #11 0x000055555d05cd9d in std::__invoke_impl<void, void (doris::vectorized::HashJoinNode::*&)(doris::RuntimeState*, std::promise<doris::Status>*), doris::vectorized::HashJoinNode*&, doris::RuntimeState*&, std::promise<doris::Status>*&> (__f=@0x55556ee48758: (void (doris::vectorized::HashJoinNode::*)(doris::vectorized::HashJoinNode * const, doris::RuntimeState *, std::promise<doris::Status> *)) 0x55555cd35716 <doris::vectorized::HashJoinNode::_hash_table_build_thread(doris::RuntimeState*, std::promise<doris::Status>*)>, __t=@0x55556ee48778: 0x555564b88300) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:74 #12 0x000055555d05ccc3 in std::__invoke<void (doris::vectorized::HashJoinNode::*&)(doris::RuntimeState*, std::promise<doris::Status>*), doris::vectorized::HashJoinNode*&, doris::RuntimeState*&, std::promise<doris::Status>*&> (__fn=@0x55556ee48758: (void (doris::vectorized::HashJoinNode::*)(doris::vectorized::HashJoinNode * const, doris::RuntimeState *, std::promise<doris::Status> *)) 0x55555cd35716 <doris::vectorized::HashJoinNode::_hash_table_build_thread(doris::RuntimeState*, std::promise<doris::Status>*)>) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:96 #13 0x000055555d05cbbf in std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (this=0x55556ee48758, __args=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/functional:420 #14 0x000055555d05cadf in std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>::operator()<, void>() (this=0x55556ee48758) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/functional:503 #15 0x000055555d05ca8e in std::__invoke_impl<void, std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>>(std::__invoke_other, std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>&&) (__f=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:61 #16 0x000055555d05ca43 in std::__invoke<std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>>(std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)>&&) (__fn=...) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:96 #17 0x000055555d05c9f0 in std::thread::_Invoker<std::tuple<std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x55556ee48758) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_thread.h:253 #18 0x000055555d05c9c4 in std::thread::_Invoker<std::tuple<std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)> > >::operator()() (this=0x55556ee48758) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_thread.h:260 #19 0x000055555d05c9a8 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (doris::vectorized::HashJoinNode::*(doris::vectorized::HashJoinNode*, doris::RuntimeState*, std::promise<doris::Status>*))(doris::RuntimeState*, std::promise<doris::Status>*)> > > >::_M_run() (this=0x55556ee48750) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_thread.h:211 #20 0x000055556092c090 in execute_native_thread_routine () #21 0x00007ffff70d8ea5 in start_thread () from /lib64/libpthread.so.0 #22 0x00007ffff73ebb0d in clone () from /lib64/libc.so.6 (gdb) f 1 #1 0x000055555cfe656d in doris::RuntimeFilterSlotsBase<doris::vectorized::VExprContext>::insert (this=0x7fff1c128340, datas=...) at /mnt/disk/tengjianping/doris/be/src/exprs/runtime_filter_slots.h:177 177 vectorized::check_and_get_column<vectorized::ColumnNullable>(*column)) { (gdb) p it.first $5 = (const doris::vectorized::Block * const) 0x5555659eefb0 (gdb) p *(it.first) $6 = {data = {<std::_Vector_base<doris::vectorized::ColumnWithTypeAndName, std::allocator<doris::vectorized::ColumnWithTypeAndName> >> = { _M_impl = {<std::allocator<doris::vectorized::ColumnWithTypeAndName>> = {<__gnu_cxx::new_allocator<doris::vectorized::ColumnWithTypeAndName>> = {<No data fields>}, <No data fields>}, <std::_Vector_base<doris::vectorized::ColumnWithTypeAndName, std::allocator<doris::vectorized::ColumnWithTypeAndName> >::_Vector_impl_data> = {_M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}, <No data fields>}}, <No data fields>}, index_by_name = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {ctrl_ = 0x55555952a540 <phmap::priv::EmptyGroup()::empty_group> "\377", '\200' <repeats 15 times>, "N5doris14StringValueSetE", slots_ = 0x0, size_ = 0, capacity_ = 0, infoz_ = {<No data fields>}, settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 0, false>> = { value = 0}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std: :__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, info = { is_overflows = false, bucket_num = -1}} (gdb) ` ### What You Expected? no coredump ### How to Reproduce? Status HashJoinNode::_hash_table_build(RuntimeState* state) 函数中,将BUILD_BLOCK_MAX_SIZE修改为一个很小的值: constexpr static auto BUILD_BLOCK_MAX_SIZE = 1024; Then run tpch_sf1 q8 ### Anything Else? _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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.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