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