You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/10/19 07:40:32 UTC

[GitHub] [doris] jacktengg opened a new issue, #13478: [Bug] be coredump at ProcessHashTableProbe

jacktengg opened a new issue, #13478:
URL: https://github.com/apache/doris/issues/13478

   ### 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 f0dbbe5b4655
   
   ### 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, au
 to: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::FixedKey
 HashTableContext<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 unsig
 ned 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::var
 iant<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::v
 ectorized::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::UInt2
 56, 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, fals
 e>, 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?
   
   - [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-unsubscribe@doris.apache.org.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 closed issue #13478: [Bug] be coredump at ProcessHashTableProbe

Posted by GitBox <gi...@apache.org>.
yiguolei closed issue #13478: [Bug] be coredump at ProcessHashTableProbe
URL: https://github.com/apache/doris/issues/13478


-- 
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