Skip to content

[Bug][Load-Vectorized] core dump on VNodeChannel::add_row #9380

Description

@BiteTheDDDDt

Search before asking

  • I had searched in the issues and found no similar issues.

Version

master

What's Wrong?

insert into compaction_tbl values(123,"1999-10-10",'aaa',123,123,"1970-01-01 00:00:00","1970-01-01 00:00:00","1970-01-01 00:00:00",123,123,123,hll_hash(""),bitmap_from_string(""));

table ddl is from #9374

start time: 20220505日 星期四 17:12:37CST
palo_be: /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/phmap_base.h:3967: CopyConst<Char, ElementType<N>> *phmap::priv::internal_layout::LayoutImpl<std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<const unsigned int, roaring::Roaring>>, 256, false>> *, unsigned char, phmap::priv::map_slot_type<unsigned int, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<const unsigned int, roaring::Roaring>>, 256, false>> *>, phmap::integer_sequence<unsigned long, 0, 1, 2, 3>, phmap::integer_sequence<unsigned long, 0, 1, 2, 3>>::Pointer(Char *) const [Elements = std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<const unsigned int, roaring::Roaring>>, 256, false>> *, unsigned char, phmap::priv::map_slot_type<unsigned int, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<const unsigned int, roaring::Roaring>>, 256, false>> *>, SizeSeq = phmap::integer_sequence<unsigned long, 0, 1, 2, 3>, OffsetSeq = phmap::integer_sequence<unsigned long, 0, 1, 2, 3>, N = 0UL, Char = const char]: Assertion `reinterpret_cast<uintptr_t>(p) % alignment == 0' failed.
*** Aborted at 1651741983 (unix time) try"date -d @1651741983"if you are usingGNU date ***
*** SIGABRT unkown detail explain (@0x203000178fd) received by PID 96509 (TID0x7f5f5e369700) from PID 96509; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/common/signal_handler.h:4051# 0x000000318AE32920 in /lib64/libc.so.62# __GI_raise in /lib64/libc.so.63# abort in /lib64/libc.so.64# __assert_fail_base in /lib64/libc.so.65# __GI___assert_perror_fail in /lib64/libc.so.6
6# std::conditional<std::is_const<char const>::value, std::tuple_element<0ul, std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*, unsigned char, phmap::priv::map_slot_type<unsigned int, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*> >::type const, std::tuple_element<0ul, std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*, unsigned char, phmap::priv::map_slot_type<unsigned int, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*> >::type>::type* phmap::priv::internal_layout::LayoutImpl<std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*, unsigned char, phmap::priv::map_slot_type<unsigned int, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsigned int, roaring::Roaring, phmap::Less<unsigned int>, std::allocator<std::pair<unsigned int const, roaring::Roaring> >, 256, false> >*>, phmap::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>, phmap::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul> >::Pointer<0ul, char const>(char const*) const in /home/disk2/pxl/dev/baidu/bdg/doris/core/output/be/lib/palo_be
7# std::tuple_element<0l, std::tuple<phmap::priv::btree_node<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >*, unsignedchar, phmap::priv::map_slot_type<unsignedint, roaring::Roaring>, phmap::priv::btree_node<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >*> >::type const* phmap::priv::btree_node<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::GetField<0l>() const at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:11628# phmap::priv::btree_node<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::parent() const at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:11989# phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::leftmost() const at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:195810# phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::begin() const at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:170911# void phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::copy_or_move_values_in_order<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > const>(phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > const*) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:246912# phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> >::btree(phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:251713# phmap::priv::btree_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > >::btree_container(phmap::priv::btree_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > > const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:329614# phmap::priv::btree_set_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > >::btree_set_container(phmap::priv::btree_set_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > > const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:341515# phmap::priv::btree_map_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > >::btree_map_container(phmap::priv::btree_map_container<phmap::priv::btree<phmap::priv::map_params<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> >, 256, false> > > const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:357316# phmap::btree_map<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> > >::btree_map(phmap::btree_map<unsignedint, roaring::Roaring, phmap::Less<unsignedint>, std::allocator<std::pair<unsignedintconst, roaring::Roaring> > > const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/thirdparty/installed/include/parallel_hashmap/btree.h:393017# doris::detail::Roaring64Map::Roaring64Map(doris::detail::Roaring64Map const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/bitmap_value.h:12018# doris::BitmapValue::BitmapValue(doris::BitmapValue const&) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/bitmap_value.h:113219# void __gnu_cxx::new_allocator<doris::BitmapValue>::construct<doris::BitmapValue, doris::BitmapValue const&>(doris::BitmapValue*, doris::BitmapValue const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:15620# void std::allocator_traits<std::allocator<doris::BitmapValue> >::construct<doris::BitmapValue, doris::BitmapValue const&>(std::allocator<doris::BitmapValue>&, doris::BitmapValue*, doris::BitmapValue const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:51621# void std::vector<doris::BitmapValue, std::allocator<doris::BitmapValue> >::_M_realloc_insert<doris::BitmapValue const&>(__gnu_cxx::__normal_iterator<doris::BitmapValue*, std::vector<doris::BitmapValue, std::allocator<doris::BitmapValue> > >, doris::BitmapValue const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:44922# std::vector<doris::BitmapValue, std::allocator<doris::BitmapValue> >::push_back(doris::BitmapValue const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:119923# doris::vectorized::ColumnComplexType<doris::BitmapValue>::insert_from(doris::vectorized::IColumn const&, unsignedlong) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/columns/column_complex.h:5924# doris::vectorized::MutableBlock::add_row(doris::vectorized::Block const*, int) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/core/block.cpp:85125# doris::stream_load::VNodeChannel::add_row(std::pair<doris::vectorized::Block*, int> const&, long) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/sink/vtablet_sink.cpp:16026# void doris::stream_load::IndexChannel::add_row<std::pair<doris::vectorized::Block*, int> >(std::pair<doris::vectorized::Block*, int> const&, long) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/exec/tablet_sink.h:39227# doris::stream_load::VOlapTableSink::send(doris::RuntimeState*, doris::vectorized::Block*) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/vec/sink/vtablet_sink.cpp:43628# doris::PlanFragmentExecutor::open_vectorized_internal() at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:29129# doris::PlanFragmentExecutor::open() at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/plan_fragment_executor.cpp:23530# doris::FragmentExecState::execute() at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:23231# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/runtime/fragment_mgr.cpp:47332# void std::__invoke_impl<void, void (doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, std::shared_ptr<doris::FragmentExecState>&, std::function<void (doris::PlanFragmentExecutor*)>&>(std::__invoke_memfun_deref, void (doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, std::shared_ptr<doris::FragmentExecState>&, std::function<void (doris::PlanFragmentExecutor*)>&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:7433# std::enable_if<is_invocable_r_v<void, void (doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, std::shared_ptr<doris::FragmentExecState>&, std::function<void (doris::PlanFragmentExecutor*)>&>, void>::type std::__invoke_r<void, void (doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, std::shared_ptr<doris::FragmentExecState>&, std::function<void (doris::PlanFragmentExecutor*)>&>(void (doris::FragmentMgr::*&)(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>), doris::FragmentMgr*&, std::shared_ptr<doris::FragmentExecState>&, std::function<void (doris::PlanFragmentExecutor*)>&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:11734# void std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:57035# void std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>::operator()<>() at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:62936# void std::__invoke_impl<void, std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::__invoke_other, std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:6137# std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>&>, void>::type std::__invoke_r<void, std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)>&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:11738# std::_Function_handler<void (), std::_Bind_result<void, void (doris::FragmentMgr::*(doris::FragmentMgr*, std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>)> >::_M_invoke(std::_Any_data const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:29139# std::function<void ()>::operator()() const at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:56040# doris::FunctionRunnable::run() at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/threadpool.cpp:4541# doris::ThreadPool::dispatch_thread() at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/threadpool.cpp:54042# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:7443# std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:9644# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:42045# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:50346# void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:6147# 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 /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:11748# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:29149# std::function<void ()>::operator()() const at /home/disk2/pxl/dev/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:56050# doris::Thread::supervise_thread(void*) at /home/disk2/pxl/dev/baidu/bdg/doris/core/be/src/util/thread.cpp:40851# start_thread in /lib64/libpthread.so.052# clone in /lib64/libc.so.6

What You Expected?

fix it

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions