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

Reply via email to