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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org