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/11/01 06:20:07 UTC
[GitHub] [doris] wangbo opened a new issue, #13857: [Bug] Be core dump when using concat as join key
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-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] wangbo commented on issue #13857: [Bug] Be core dump when using concat as join key
Posted by GitBox <gi...@apache.org>.
wangbo commented on issue #13857:
URL: https://github.com/apache/doris/issues/13857#issuecomment-1299596122
this has been solved by #13655
--
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
[GitHub] [doris] wangbo commented on issue #13857: [Bug] Be core dump when using concat as join key
Posted by GitBox <gi...@apache.org>.
wangbo commented on issue #13857:
URL: https://github.com/apache/doris/issues/13857#issuecomment-1298128611
This is because join could convert build side column to nullable to default, but concat didn't deal nullable type.
I'll fix it.
--
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
[GitHub] [doris] wangbo closed issue #13857: [Bug] Be core dump when using concat as join key
Posted by GitBox <gi...@apache.org>.
wangbo closed issue #13857: [Bug] Be core dump when using concat as join key
URL: https://github.com/apache/doris/issues/13857
--
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