Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] be core about VCaseExpr #9868

Closed
2 of 3 tasks
deardeng opened this issue May 30, 2022 · 4 comments · Fixed by #9875 or #9893
Closed
2 of 3 tasks

[Bug] be core about VCaseExpr #9868

deardeng opened this issue May 30, 2022 · 4 comments · Fixed by #9875 or #9893

Comments

@deardeng
Copy link
Contributor

Search before asking

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

Version

dev-1.0.1

What's Wrong?

be core

*** Aborted at 1653918077 (unix time) try "date -d @1653918077" if you are using GNU date ***
*** SIGSEGV address not mapped to object (@0x300000004) received by PID 1129589 (TID 0x7f7a6a46a640) from PID 4; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/common/signal_handler.h:420
1# 0x00007F7AF2814040 in /lib/x86_64-linux-gnu/libc.so.6
2# std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count() at /var/local/ldb_toolchain/include/c++/11/bits/shared_ptr_base.h:702
3# std::__shared_ptr<doris::vectorized::IDataType const, (__gnu_cxx::_Lock_policy)2>::
__shared_ptr() at /var/local/ldb_toolchain/include/c++/11/bits/shared_ptr_base.h:1149
4# std::shared_ptr<doris::vectorized::IDataType const>::~shared_ptr() at /var/local/ldb_toolchain/include/c++/11/bits/shared_ptr.h:122
5# doris::vectorized::CaseState::~CaseState() at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/functions/function_case.h:29
6# doris::vectorized::VCaseExpr::close(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vcase_expr.cpp:82
7# doris::vectorized::VExpr::close(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vexpr.cpp:81
8# doris::vectorized::VectorizedFnCall::close(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vectorized_fn_call.cpp:74
9# doris::vectorized::VExpr::close(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vexpr.cpp:81
10# doris::vectorized::VectorizedFnCall::close(doris::RuntimeState*, doris::vectorized::VExprContext*, doris_udf::FunctionContext::FunctionStateScope) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vectorized_fn_call.cpp:74
11# doris::vectorized::VExprContext::close(doris::RuntimeState*) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exprs/vexpr_context.cpp:65
12# doris::ExecNode::close(doris::RuntimeState*) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/exec/exec_node.cpp:273
13# doris::vectorized::VOlapScanNode::close(doris::RuntimeState*) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/vec/exec/volap_scan_node.cpp:436
14# doris::PlanFragmentExecutor::close() at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/runtime/plan_fragment_executor.cpp:670
15# doris::FragmentExecState::execute() at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/runtime/fragment_mgr.cpp:234
16# doris::FragmentMgr::_exec_actual(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/runtime/fragment_mgr.cpp:466
17# void std::__invoke_impl<void, void (doris::FragmentMgr::&)(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor)>), doris::FragmentMgr*&, std::shared_ptrdoris::FragmentExecState&, std::function<void (doris::PlanFragmentExecutor*)>&>(std::__invoke_memfun_deref, void (doris::FragmentMgr::&)(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor)>), doris::FragmentMgr*&, std::shared_ptrdoris::FragmentExecState&, std::function<void (doris::PlanFragmentExecutor*)>&) in /mnt/hdd01/SELECTDB_1.0.1_UBSAN/be/lib/palo_be
18# std::enable_if<is_invocable_r_v<void, void (doris::FragmentMgr::&)(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor)>), doris::FragmentMgr*&, std::shared_ptrdoris::FragmentExecState&, std::function<void (doris::PlanFragmentExecutor*)>&>, void>::type std::__invoke_r<void, void (doris::FragmentMgr::&)(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor)>), doris::FragmentMgr*&, std::shared_ptrdoris::FragmentExecState&, std::function<void (doris::PlanFragmentExecutor*)>&>(void (doris::FragmentMgr::&)(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor)>), doris::FragmentMgr*&, std::shared_ptrdoris::FragmentExecState&, std::function<void (doris::PlanFragmentExecutor*)>&) in /mnt/hdd01/SELECTDB_1.0.1_UBSAN/be/lib/palo_be
19# void std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) in /mnt/hdd01/SELECTDB_1.0.1_UBSAN/be/lib/palo_be
20# void std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>::operator()<>() at /var/local/ldb_toolchain/include/c++/11/functional:631
21# void std::__invoke_impl<void, std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::__invoke_other, std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>&) in /mnt/hdd01/SELECTDB_1.0.1_UBSAN/be/lib/palo_be
22# std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>&>, void>::type std::__invoke_r<void, std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>&>(std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)>&) in /mnt/hdd01/SELECTDB_1.0.1_UBSAN/be/lib/palo_be
23# std::_Function_handler<void (), std::_Bind_result<void, void (doris::FragmentMgr::(doris::FragmentMgr, std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>))(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::PlanFragmentExecutor*)>)> >::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/include/c++/11/bits/std_function.h:292
24# std::function<void ()>::operator()() const at /var/local/ldb_toolchain/include/c++/11/bits/std_function.h:560
25# doris::FunctionRunnable::run() at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/util/threadpool.cpp:42
26# doris::ThreadPool::dispatch_thread() at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/util/threadpool.cpp:578
27# void std::__invoke_impl<void, void (doris::ThreadPool::&)(), doris::ThreadPool&>(std::__invoke_memfun_deref, void (doris::ThreadPool::&)(), doris::ThreadPool&) at /var/local/ldb_toolchain/include/c++/11/bits/invoke.h:74
28# std::__invoke_result<void (doris::ThreadPool::&)(), doris::ThreadPool&>::type std::__invoke<void (doris::ThreadPool::&)(), doris::ThreadPool&>(void (doris::ThreadPool::&)(), doris::ThreadPool&) at /var/local/ldb_toolchain/include/c++/11/bits/invoke.h:97
29# void std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /var/local/ldb_toolchain/include/c++/11/functional:422
30# void std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>::operator()<, void>() at /var/local/ldb_toolchain/include/c++/11/functional:505
31# void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>&) at /var/local/ldb_toolchain/include/c++/11/bits/invoke.h:61
32# 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 /var/local/ldb_toolchain/include/c++/11/bits/invoke.h:117
33# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()> >::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/include/c++/11/bits/std_function.h:292
34# std::function<void ()>::operator()() const at /var/local/ldb_toolchain/include/c++/11/bits/std_function.h:560
35# doris::Thread::supervise_thread(void*) at /mnt/hdd01/repo_center/selectdb_dev-1.0.1/selectdb/be/src/util/thread.cpp:407
36# start_thread at ./nptl/pthread_create.c:474
37# clone in /lib/x86_64-linux-gnu/libc.so.6

What You Expected?

no core

How to Reproduce?

SELECT c_last_name , c_first_name , c_salutation , c_preferred_cust_flag , ss_ticket_number , cnt FROM ( SELECT ss_ticket_number , ss_customer_sk , count(*) cnt FROM store_sales , date_dim , store , household_demographics WHERE (store_sales.ss_sold_date_sk = date_dim.d_date_sk) AND (store_sales.ss_store_sk = store.s_store_sk) AND (store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk) AND (date_dim.d_dom BETWEEN 1 AND 2) AND ((household_demographics.hd_buy_potential = '>10000') OR (household_demographics.hd_buy_potential = 'Unknown')) AND (household_demographics.hd_vehicle_count > 0) AND ((CASE WHEN (household_demographics.hd_vehicle_count > 0) THEN (CAST(household_demographics.hd_dep_count AS DECIMAL(7,2)) / household_demographics.hd_vehicle_count) ELSE null END) > 1) AND (date_dim.d_year IN (1999 , (1999 + 1) , (1999 + 2))) AND (store.s_county IN ('Williamson County' , 'Franklin Parish' , 'Bronx County' , 'Orange County')) GROUP BY ss_ticket_number, ss_customer_sk ) dj , customer WHERE (ss_customer_sk = c_customer_sk) AND (cnt BETWEEN 1 AND 5) ORDER BY cnt DESC, c_last_name ASC

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@BiteTheDDDDt
Copy link
Contributor

Is there a case that can reproduce this core dump?

@deardeng
Copy link
Contributor Author

yes,
image

@BiteTheDDDDt
Copy link
Contributor

yes, image

Which query is this from tpcds?

@deardeng
Copy link
Contributor Author

yes, image

Which query is this from tpcds?

tpcds ,scale factor =1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants