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

   ### 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
   
   lts-1.2
   commit:c08568e
   
   using tpch to make a test table
   ```
   CREATE TABLE `supplier_100` (
     `s_suppkey` int(11) NOT NULL COMMENT "",
     `s_name` varchar(25) NOT NULL COMMENT "",
     `s_address` varchar(40) NOT NULL COMMENT "",
     `s_nationkey` int(11) NOT NULL COMMENT "",
     `s_phone` varchar(15) NOT NULL COMMENT "",
     `s_acctbal` decimal(15, 2) NOT NULL COMMENT "",
     `s_comment` varchar(101) NOT NULL COMMENT ""
   ) ENGINE=OLAP
   DUPLICATE KEY(`s_suppkey`)
   COMMENT "OLAP"
   DISTRIBUTED BY HASH(`s_suppkey`) BUCKETS 12
   PROPERTIES (
   "replication_allocation" = "tag.location.default: 1",
   "in_memory" = "false",
   "storage_format" = "V2"
   )
   
   insert into  supplier_100 select * from supplier limit 100
   ```
   
   the bad case
   ```
   select t1.index_id,
          t2.sum_xxx
     from (
           select s_suppkey,
                  s_name,
                  concat(s_suppkey,s_name,'-', s_suppkey)as index_id
             from supplier_100
            group by
         s_suppkey,s_name
          ) t1
     left join (
           select t0.index_id,
                  sum_xxx
             from (
                   select s_suppkey,
                          s_name,
                          concat(s_suppkey,s_name,'-', s_suppkey)as index_id,
                          sum(s_nationkey) as sum_xxx
                     from supplier_100
                    group by
                 s_suppkey,s_name
                  ) t0
          )t2
       on t1.index_id = t2.index_id
    order by 
     t1.index_id,
    t2.sum_xxx
   limit 1000000
   
   ```
   
   stack
   ```
   *** Query id: 0-0 ***
   *** Aborted at 1667283506 (unix time) try "date -d @1667283506" if you are 
using GNU date ***
   *** Current BE git commitID: c08568e ***
   *** SIGABRT unkown detail explain (@0x1f400031fe1) received by PID 204769 
(TID 0x7f961bbe2700) from PID 204769; stack trace: ***
    0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at /root/doris-vector/be/src/common/signal_handler.h:420
    1# 0x00007F975C3F5400 in /lib64/libc.so.6
    2# gsignal in /lib64/libc.so.6
    3# abort in /lib64/libc.so.6
    4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in 
/opt/meituan/palo/up/be/lib/palo_be
    5# __cxxabiv1::__terminate(void (*)()) in 
/opt/meituan/palo/up/be/lib/palo_be
    6# 0x0000560FD1F85141 in /opt/meituan/palo/up/be/lib/palo_be
    7# 0x0000560FD1F85295 in /opt/meituan/palo/up/be/lib/palo_be
    8# doris::vectorized::throwFromErrno(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, int, int) at 
/root/doris-vector/be/src/vec/common/exception.cpp:115
    9# Allocator<false, false>::alloc(unsigned long, unsigned long) [clone 
.isra.0] at /root/doris-vector/be/src/vec/common/allocator.h:134
   10# void doris::vectorized::PODArrayBase<1ul, 4096ul, Allocator<false, 
false>, 15ul, 16ul>::alloc<>(unsigned long) at 
/root/doris-vector/be/src/vec/common/pod_array.h:138
   11# void doris::vectorized::PODArrayBase<1ul, 4096ul, Allocator<false, 
false>, 15ul, 16ul>::resize<>(unsigned long) at 
/root/doris-vector/be/src/vec/common/pod_array.h:245
   12# 
doris::vectorized::FunctionStringConcat::execute_impl(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long) at 
/root/doris-vector/be/src/vec/functions/function_string.h:479
   13# 
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) at 
/root/doris-vector/be/src/vec/functions/function.cpp:251
   14# 
doris::vectorized::PreparedFunctionImpl::default_implementation_for_nulls(doris_udf::FunctionContext*,
 doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool, bool*) at 
/root/doris-vector/be/src/vec/functions/function.cpp:221
   15# 
doris::vectorized::PreparedFunctionImpl::execute(doris_udf::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) at 
/root/doris-vector/be/src/vec/functions/function.cpp:273
   16# doris::vectorized::IFunctionBase::execute(doris_udf::FunctionContext*, 
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned 
long> > const&, unsigned long, unsigned long, bool) at 
/root/doris-vector/be/src/vec/functions/function.h:135
   17# 
doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, 
doris::vectorized::Block*, int*) at 
/root/doris-vector/be/src/vec/exprs/vectorized_fn_call.cpp:96
   18# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, 
int*) at /root/doris-vector/be/src/vec/exprs/vexpr_context.cpp:44
   19# 
doris::vectorized::HashJoinNode::_extract_build_join_column(doris::vectorized::Block&,
 doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false>, 
15ul, 16ul>&, std::vector<doris::vectorized::IColumn const*, 
std::allocator<doris::vectorized::IColumn const*> >&, bool&, 
doris::RuntimeProfile::Counter&) at 
/root/doris-vector/be/src/vec/exec/join/vhash_join_node.cpp:1229
   20# 
std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<doris::Status>
 
(*)(doris::vectorized::HashJoinNode::_process_build_block(doris::RuntimeState*, 
doris::vectorized::Block&, unsigned char)::{lambda(auto:1&&)#1}&&, 
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::integer_sequence<unsigned long, 1ul> 
>::__visit_invoke(doris::vectorized::HashJoinNode::_process_build_block(doris::RuntimeState*,
 doris::vectorized::Block&, unsigned char)::{lambda(auto:1&&)#1}&&, 
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::vec
 torized::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> 
>&) at /var/local/ldb-toolchain/include/c++/11/variant:1020
   21# 
doris::vectorized::HashJoinNode::_process_build_block(doris::RuntimeState*, 
doris::vectorized::Block&, unsigned char) at 
/root/doris-vector/be/src/vec/exec/join/vhash_join_node.cpp:1336
   22# doris::vectorized::HashJoinNode::_hash_table_build(doris::RuntimeState*) 
at /root/doris-vector/be/src/vec/exec/join/vhash_join_node.cpp:1204
   23# 
doris::vectorized::HashJoinNode::_hash_table_build_thread(doris::RuntimeState*, 
std::promise<doris::Status>*) at 
/root/doris-vector/be/src/vec/exec/join/vhash_join_node.cpp:1151
   24# 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<doris::vectorized::HashJoinNode::open(doris::RuntimeState*)::{lambda()#1}>
 > >::_M_run() at /var/local/ldb-toolchain/include/c++/11/bits/std_thread.h:211
   25# execute_native_thread_routine in /opt/meituan/palo/up/be/lib/palo_be
   26# start_thread in /lib64/libpthread.so.0
   27# clone in /lib64/libc.so.6
   
   ```
   
   ### What's Wrong?
   
   core when using concat as join key
   
   ### What You Expected?
   
   return correct result
   
   ### How to Reproduce?
   
   _No response_
   
   ### Anything Else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] 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