-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Description
Search before asking
- I had searched in the issues and found no similar issues.
Version
master f0dbbe5
What's Wrong?
ubsan build, be coredump when doing inner hash join:
doris::vectorized::ProcessHashTableProbe<doris::vectorized::PrimaryTypeHashTableContext<unsigned int>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>, false>::ProcessHashTableProbe (this=0x7f98b93f5330, join_node=0x7f9922379000, batch_size=992, probe_rows=348) at /home/zcp/repo_center/doris_master/be/src/vec/exec/join/vhash_join_node.cpp:204 #1 0x0000555fe6383e48 in operator()<doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>&, std::integral_constant<bool, false>, std::integral_constant<bool, false> > (_closure=0x7f98b93f5700, arg=..., join_op_variants=..., have_other_join_conjunct=..., probe_ignore_null=...) at /home/zcp/repo_center/doris_master/be/src/vec/exec/join/vhash_join_node.cpp:1034 #2 0x0000555fe64dafa3 in std::invoke_impl<void, doris::vectorized::HashJoinNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*)::<lambda(auto:36&&, auto:37&&, auto:38, auto:39)>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>&, std::integral_constant<bool, false>, std::integral_constant<bool, false> >(std::invoke_other, struct {...} &&) (f=...) at /var/local/ldb_toolchain/include/c+/11/bits/invoke.h:61 #3 0x0000555fe64a72ad in std::invoke<doris::vectorized::HashJoinNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*)::<lambda(auto:36&&, auto:37&&, auto:38, auto:39)>, doris::vectorized::PrimaryTypeHashTableContext<unsigned int>&, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>&, std::integral_constant<bool, false>, std::integral_constant<bool, false> >(struct {...} &&) (fn=...) at /var/local/ldb_toolchain/include/c/11/bits/invoke.h:96 #4 0x0000555fe6384385 in std::detail::variant::gen_vtable_impl<std::detail::variant::_Multi_array<std::detail::variant::deduce_visit_result<void> (doris::vectorized::HashJoinNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*)::<lambda(auto:36&&, auto:37&&, auto:38, auto:39)>&&, 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> >&, std::variant<std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)2>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)8>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)1>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)4>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)3>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)5>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)7>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)9>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)10> >&, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> >&&, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> >&&)>, std::integer_sequence<long unsigned int, 4, 0, 0, 0> >::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, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt128, false>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, true>, doris::vectorized::FixedKeyHashTableContext<doris::vectorized::UInt256, false> > &, std::variant<std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)2>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)8>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)1>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)4>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)3>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)5>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)7>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)9>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)10> > &, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> > &&, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> > && #5 0x0000555fe644b3df in std::do_visit<std::detail::variant::deduce_visit_result<void>, doris::vectorized::HashJoinNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*)::<lambda(auto:36&&, auto:37&&, auto:38, auto:39)>, 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> >&, std::variant<std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)2>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)8>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)1>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)4>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)3>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)5>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)7>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)9>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)10> >&, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> >, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> > >(struct {...} &&) (visitor=...) at /var/local/ldb_toolchain/include/c/11/variant:1714 #6 0x0000555fe644b5eb in std::visit<doris::vectorized::HashJoinNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*)::<lambda(auto:36&&, auto:37&&, auto:38, auto:39)>, 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> >&, std::variant<std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)0>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)2>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)8>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)1>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)4>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)3>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)5>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)7>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)9>, std::integral_constant<doris::TJoinOp::type, (doris::TJoinOp::type)10> >&, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> >, std::variant<std::integral_constant<bool, false>, std::integral_constant<bool, true> > >(struct {...} &&) (_visitor=...) at /var/local/ldb_toolchain/include/c+/11/variant:1769 #7 0x0000555fe6481020 in doris::vectorized::HashJoinNode::get_next (this=0x7f9922379000, state=0x7f9922269000, output_block=0x7f9922269ce0, eos=0x7f9922269d68) at /home/zcp/repo_center/doris_master/be/src/vec/exec/join/vhash_join_node.cpp:1016 #8 0x0000555fdf73d7a3 in doris::ExecNode::get_next_after_projects (this=0x7f9922379000, state=0x7f9922269000, block=0x7f9922269ce0, eos=0x7f9922269d68) at /home/zcp/repo_center/doris_master/be/src/exec/exec_node.cpp:863 #9 0x0000555fe647f192 in doris::vectorized::HashJoinNode::get_next (this=0x7f9922269800, state=0x7f9922269000, output_block=0x7f96eecc67e0, eos=0x7f98b93f5c8f) at /home/zcp/repo_center/doris_master/be/src/vec/exec/join/vhash_join_node.cpp:972 #10 0x0000555fdf73d7a3 in doris::ExecNode::get_next_after_projects (this=0x7f9922269800, state=0x7f9922269000, block=0x7f96eecc67e0, eos=0x7f98b93f5c8f) at /home/zcp/repo_center/doris_master/be/src/exec/exec_node.cpp:863 #11 0x0000555fe5e8e9a6 in doris::vectorized::VSortNode::open (this=0x7f968a0e4300, state=0x7f9922269000) at /home/zcp/repo_center/doris_master/be/src/vec/exec/vsort_node.cpp:91 #12 0x0000555fe080e9a4 in doris::PlanFragmentExecutor::open_vectorized_internal (this=0x7f944dcb5070)
What You Expected?
no coredump
How to Reproduce?
tpch q15:
SELECT s_suppkey, s_name, s_address, s_phone, total_revenue FROM supplier, revenue1 WHERE s_suppkey = supplier_no AND total_revenue = ( SELECT max(total_revenue) FROM
revenue1 ) ORDER BY s_suppkey
Anything Else?
No response
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
No labels