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/07/26 14:18:04 UTC
[GitHub] [doris] jacktengg opened a new issue, #11226: [Bug] IFNULL with get_json_string cause be coredmp
jacktengg opened a new issue, #11226:
URL: https://github.com/apache/doris/issues/11226
### 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
master 8a6c9d870
### What's Wrong?
be coredump when executing sql:
```
select IFNULL(get_json_string('{"k1":"v1", "k2":"v2"}', "$.k1"), 'SUCCESS')= 'FAIL'
```
coredump stack:
```
start time: Tue Jul 26 15:53:58 CST 2022
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0726 15:53:58.592152 208601 env.cpp:46] Env init successfully.
*** Check failure stack trace: ***
@ 0x55dd1690ddfd google::LogMessage::Fail()
@ 0x55dd16910339 google::LogMessage::SendToLog()
@ 0x55dd1690d966 google::LogMessage::Flush()
@ 0x55dd169109a9 google::LogMessageFatal::~LogMessageFatal()
@ 0x55dd14a00310 assert_cast<>()
@ 0x55dd149fb9ad doris::vectorized::ColumnNullable::compare_at()
@ 0x55dd149e4d41 doris::vectorized::ColumnConst::compare_at()
@ 0x55dd157c85b8 doris::vectorized::GenericComparisonImpl<>::constant_constant()
@ 0x55dd157ad083 doris::vectorized::FunctionComparison<>::execute_generic_identical_types()
@ 0x55dd1575bbfd doris::vectorized::FunctionComparison<>::execute_generic()
@ 0x55dd15751513 doris::vectorized::FunctionComparison<>::execute_impl()
@ 0x55dd153e5c21 doris::vectorized::DefaultExecutable::execute_impl()
@ 0x55dd15a5d413 doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns()
@ 0x55dd15a5d4be doris::vectorized::PreparedFunctionImpl::execute()
@ 0x55dd153e4ac8 doris::vectorized::IFunctionBase::execute()
@ 0x55dd16323aac doris::vectorized::VectorizedFnCall::execute()
@ 0x55dd14aef0fe doris::vectorized::VExprContext::execute()
@ 0x55dd14f66f7d doris::vectorized::VUnionNode::get_next_const()
@ 0x55dd14f67833 doris::vectorized::VUnionNode::get_next()
@ 0x55dd143934be doris::PlanFragmentExecutor::get_vectorized_internal()
@ 0x55dd14392e95 doris::PlanFragmentExecutor::open_vectorized_internal()
@ 0x55dd14392957 doris::PlanFragmentExecutor::open()
@ 0x55dd142ab3c2 doris::FragmentExecState::execute()
@ 0x55dd142ae2e0 doris::FragmentMgr::_exec_actual()
@ 0x55dd142d1117 std::__invoke_impl<>()
@ 0x55dd142d01c7 _ZSt10__invoke_rIvRMN5doris11FragmentMgrEFvSt10shared_ptrINS0_17FragmentExecStateEESt8functionIFvPNS0_20PlanFragmentExecutorEEEEJRPS1_RS4_RS9_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESI_E4typeEOSJ_DpOSK_
@ 0x55dd142cec3b _ZNSt12_Bind_resultIvFMN5doris11FragmentMgrEFvSt10shared_ptrINS0_17FragmentExecStateEESt8functionIFvPNS0_20PlanFragmentExecutorEEEEPS1_S4_S9_EE6__callIvJEJLm0ELm1ELm2EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
@ 0x55dd142ccc57 std::_Bind_result<>::operator()<>()
@ 0x55dd142c9ff6 std::__invoke_impl<>()
@ 0x55dd142c6160 _ZSt10__invoke_rIvRSt12_Bind_resultIvFMN5doris11FragmentMgrEFvSt10shared_ptrINS1_17FragmentExecStateEESt8functionIFvPNS1_20PlanFragmentExecutorEEEEPS2_S5_SA_EEJEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESI_E4typeEOSJ_DpOSK_
@ 0x55dd142c2436 std::_Function_handler<>::_M_invoke()
@ 0x55dd1426f700 std::function<>::operator()()
*** Aborted at 1658822128 (unix time) try "date -d @1658822128" if you are using GNU date ***
*** SIGABRT unkown detail explain (@0x3e900032ed9) received by PID 208601 (TID 0x7f635cf88700) from PID 208601; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk/tengjianping/doris-test/be/src/common/signal_handler.h:420
1# 0x00007F6399E61400 in /lib64/libc.so.6
2# gsignal in /lib64/libc.so.6
3# abort in /lib64/libc.so.6
4# google::ReadFromOffset(int, void*, unsigned long, long) [clone .cold] at src/symbolize.cc:146
5# 0x000055DD1690DDFD at src/logging.cc:1650
6# google::LogMessage::SendToLog() at src/logging.cc:1607
7# google::LogMessage::Flush() at src/logging.cc:1477
8# google::LogMessageFatal::~LogMessageFatal() at src/logging.cc:2227
9# doris::vectorized::ColumnNullable const& assert_cast<doris::vectorized::ColumnNullable const&, doris::vectorized::IColumn const&>(doris::vectorized::IColumn const&) at /mnt/disk/tengjianping/doris-test/be/src/vec/common/assert_cast.h:50
10# doris::vectorized::ColumnNullable::compare_at(unsigned long, unsigned long, doris::vectorized::IColumn const&, int) const at /mnt/disk/tengjianping/doris-test/be/src/vec/columns/column_nullable.cpp:236
11# doris::vectorized::ColumnConst::compare_at(unsigned long, unsigned long, doris::vectorized::IColumn const&, int) const in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
12# doris::vectorized::GenericComparisonImpl<doris::vectorized::EqualsOp<int, int> >::constant_constant(doris::vectorized::IColumn const&, doris::vectorized::IColumn const&, unsigned char&) at /mnt/disk/tengjianping/doris-test/be/src/vec/functions/functions_comparison.h:125
13# doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, doris::vectorized::NameEquals>::execute_generic_identical_types(doris::vectorized::Block&, unsigned long, doris::vectorized::IColumn const*, doris::vectorized::IColumn const*) at /mnt/disk/tengjianping/doris-test/be/src/vec/functions/functions_comparison.h:304
14# doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, doris::vectorized::NameEquals>::execute_generic(doris::vectorized::Block&, unsigned long, doris::vectorized::ColumnWithTypeAndName const&, doris::vectorized::ColumnWithTypeAndName const&) at /mnt/disk/tengjianping/doris-test/be/src/vec/functions/functions_comparison.h:324
15# doris::vectorized::FunctionComparison<doris::vectorized::EqualsOp, doris::vectorized::NameEquals>::execute_impl(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) at /mnt/disk/tengjianping/doris-test/be/src/vec/functions/functions_comparison.h:405
16# doris::vectorized::DefaultExecutable::execute_impl(doris_udf::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) at /mnt/disk/tengjianping/doris-test/be/src/vec/functions/function.h:438
17# 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 /mnt/disk/tengjianping/doris-test/be/src/vec/functions/function.cpp:251
18# 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 /mnt/disk/tengjianping/doris-test/be/src/vec/functions/function.cpp:272
19# 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 /mnt/disk/tengjianping/doris-test/be/src/vec/functions/function.h:137
20# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /mnt/disk/tengjianping/doris-test/be/src/vec/exprs/vectorized_fn_call.cpp:89
21# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /mnt/disk/tengjianping/doris-test/be/src/vec/exprs/vexpr_context.cpp:42
22# doris::vectorized::VUnionNode::get_next_const(doris::RuntimeState*, doris::vectorized::Block*) at /mnt/disk/tengjianping/doris-test/be/src/vec/exec/vunion_node.cpp:188
23# doris::vectorized::VUnionNode::get_next(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /mnt/disk/tengjianping/doris-test/be/src/vec/exec/vunion_node.cpp:233
24# doris::PlanFragmentExecutor::get_vectorized_internal(doris::vectorized::Block**) at /mnt/disk/tengjianping/doris-test/be/src/runtime/plan_fragment_executor.cpp:346
25# doris::PlanFragmentExecutor::open_vectorized_internal() at /mnt/disk/tengjianping/doris-test/be/src/runtime/plan_fragment_executor.cpp:295
26# doris::PlanFragmentExecutor::open() at /mnt/disk/tengjianping/doris-test/be/src/runtime/plan_fragment_executor.cpp:255
27# doris::FragmentExecState::execute() at /mnt/disk/tengjianping/doris-test/be/src/runtime/fragment_mgr.cpp:241
28# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::PlanFragmentExecutor*)>) at /mnt/disk/tengjianping/doris-test/be/src/runtime/fragment_mgr.cpp:476
29# 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*)>&) in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
30# 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*)>&) in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
31# 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>) in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
32# 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 /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/functional:631
33# 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*)>)>&) in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
34# 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*)>)>&) in /mnt/disk/tengjianping/doris-test/output/be/lib/doris_be
35# 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 /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_function.h:292
36# std::function<void ()>::operator()() const at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_function.h:560
37# doris::FunctionRunnable::run() at /mnt/disk/tengjianping/doris-test/be/src/util/threadpool.cpp:42
38# doris::ThreadPool::dispatch_thread() at /mnt/disk/tengjianping/doris-test/be/src/util/threadpool.cpp:578
39# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:74
40# std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:97
41# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/functional:422
42# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/functional:505
43# void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:61
44# 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/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/invoke.h:117
45# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_function.h:292
46# std::function<void ()>::operator()() const at /mnt/disk/tengjianping/local/ldb_toolchain/include/c++/11/bits/std_function.h:560
47# doris::Thread::supervise_thread(void*) at /mnt/disk/tengjianping/doris-test/be/src/util/thread.cpp:407
48# start_thread in /lib64/libpthread.so.0
49# clone in /lib64/libc.so.6
```
### What You Expected?
sql execute OK.
### 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 #11226: [Bug] IFNULL with get_json_string cause be coredmp
Posted by GitBox <gi...@apache.org>.
yiguolei closed issue #11226: [Bug] IFNULL with get_json_string cause be coredmp
URL: https://github.com/apache/doris/issues/11226
--
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