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/12/26 07:54:31 UTC

[GitHub] [doris] jacktengg opened a new issue, #15359: [Bug] BE coredump for extreme large string columns

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

   ### Search before asking
   
   - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues.
   
   
   ### Version
   
   master 24a994eb9fb9e9b9eee2b79ced4bea55b9a98d8d
   
   ### What's Wrong?
   
   be coredump when executing the following test sql:
   ```
   select      /*+ SET_VAR(query_timeout = 600) */ ref_7.`k1` as c0,    ref_8.`p_size` as c1,    ref_7.`v1` as c2 from    regression_test_datatype_p0_string.str_tb as ref_7     left join regression_test_ssb_sf1.part as ref_8     on (ref_7.`k1` = ref_8.`p_name` )     inner join regression_test_datev2_tpch_sf1_p1.supplier as ref_9     on (true) where true order by ref_8.`p_container` limit 79 offset 121
   ```
   
   coredump stack:
   ```
   0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk1/yuejing/projects/doris/be/src/common/signal_handler.h:420
   1# 0x00007F0D54185400 in /lib64/libc.so.6
   2# __GI_raise in /lib64/libc.so.6
   3# __GI_abort in /lib64/libc.so.6
   4# _nl_load_domain.cold.0 in /lib64/libc.so.6
   5# 0x00007F0D5417DA76 in /lib64/libc.so.6
   6# doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false>, 15ul, 16ul>::operator[](long) const in /mnt/disk1/yuejing/projects/doris/output/be/lib/doris_be
   7# doris::vectorized::ColumnString::permute(doris::vectorized::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, unsigned long) const at /mnt/disk1/yuejing/projects/doris/be/src/vec/columns/column_string.cpp:191
   8# doris::vectorized::ColumnNullable::permute(doris::vectorized::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, unsigned long) const at /mnt/disk1/yuejing/projects/doris/be/src/vec/columns/column_nullable.cpp:325
   9# doris::vectorized::sort_block(doris::vectorized::Block&, doris::vectorized::Block&, std::vector<doris::vectorized::SortColumnDescription, std::allocator<doris::vectorized::SortColumnDescription> > const&, unsigned long) at /mnt/disk1/yuejing/projects/doris/be/src/vec/core/sort_block.cpp:87
   10# doris::vectorized::Sorter::partial_sort(doris::vectorized::Block&, doris::vectorized::Block&) at /mnt/disk1/yuejing/projects/doris/be/src/vec/common/sort/sorter.cpp:116
   11# doris::vectorized::TopNSorter::_do_sort(doris::vectorized::Block*) at /mnt/disk1/yuejing/projects/doris/be/src/vec/common/sort/topn_sorter.cpp:57
   12# doris::vectorized::TopNSorter::append_block(doris::vectorized::Block*) at /mnt/disk1/yuejing/projects/doris/be/src/vec/common/sort/topn_sorter.cpp:31
   13# doris::vectorized::VSortNode::sink(doris::RuntimeState*, doris::vectorized::Block*, bool) at /mnt/disk1/yuejing/projects/doris/be/src/vec/exec/vsort_node.cpp:92
   14# doris::vectorized::VSortNode::open(doris::RuntimeState*) at /mnt/disk1/yuejing/projects/doris/be/src/vec/exec/vsort_node.cpp:122
   15# doris::PlanFragmentExecutor::open_vectorized_internal() at /mnt/disk1/yuejing/projects/doris/be/src/runtime/plan_fragment_executor.cpp:278
   16# doris::PlanFragmentExecutor::open() at /mnt/disk1/yuejing/projects/doris/be/src/runtime/plan_fragment_executor.cpp:250
   17# doris::FragmentExecState::execute() at /mnt/disk1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:251
   18# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::RuntimeState*, doris::Status*)>) at /mnt/disk1/yuejing/projects/doris/be
   /src/runtime/fragment_mgr.cpp:495
   19# doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)::$_3::operator()() const at /mnt/disk
   1/yuejing/projects/doris/be/src/runtime/fragment_mgr.cpp:731
   20# void std::__invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)::$_3&>(
   std::__invoke_other, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)::$_3&) at /mnt/disk1
   /yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   21# std::enable_if<is_invocable_r_v<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)
   ::$3&>, void>::type std::_invoke_r<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>
   )::$_3&>(doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)::$_3&) at /mnt/disk1/yuejing/pro
   jects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117
   22# std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)>)::$_3>
   ::_M_invoke(std::_Any_data const&) at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   23# std::function<void ()>::operator()() const at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   24# doris::FunctionRunnable::run() at /mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:46
   25# doris::ThreadPool::dispatch_thread() at /mnt/disk1/yuejing/projects/doris/be/src/util/threadpool.cpp:535
   26# void std::_invoke_impl<void, void (doris::ThreadPool::&)(), doris::ThreadPool&>(std::_invoke_memfun_deref, void (doris::ThreadPool::&)(), doris::ThreadPool&) at /mnt/dis
   k1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:74
   27# std::_invoke_result<void (doris::ThreadPool::&)(), doris::ThreadPool&>::type std::_invoke<void (doris::ThreadPool::&)(), doris::ThreadPool&>(void (doris::ThreadPool::*&)
   (), doris::ThreadPool*&) at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96
   28# void std::Bind<void (doris::ThreadPool::(doris::ThreadPool))()>::_call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /mnt/disk1/yuejing/projects/ldb_toolchain/bi
   n/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420
   29# void std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>::operator()<, void>() at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../
   ../../include/c++/11/functional:503
   30# void std::_invoke_impl<void, std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>&>(std::_invoke_other, std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()
   >&) at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
   31# std::enable_if<is_invocable_r_v<void, std::Bind<void (doris::ThreadPool::(doris::ThreadPool))()>&>, void>::type std::_invoke_r<void, std::_Bind<void (doris::ThreadPool::*(
   doris::ThreadPool*))()>&>(std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>&) at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../
   ../include/c++/11/bits/invoke.h:117
   32# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()> >::_M_invoke(std::_Any_data const&) at /mnt/disk1/yuejing/projects/ldb_toolchain/
   bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
   33# std::function<void ()>::operator()() const at /mnt/disk1/yuejing/projects/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560
   34# doris::Thread::supervise_thread(void*) at /mnt/disk1/yuejing/projects/doris/be/src/util/thread.cpp:454
   35# start_thread in /lib64/libpthread.so.0
   36# _GI__clone in /lib64/libc.so.6
   ```
   
   ### What You Expected?
   
   no coredump
   
   ### How to Reproduce?
   
   _No response_
   
   ### 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 #15359: [Bug] BE coredump for extreme large string columns

Posted by GitBox <gi...@apache.org>.
yiguolei closed issue #15359: [Bug] BE coredump for extreme large string columns
URL: https://github.com/apache/doris/issues/15359


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