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-0]: This following SQL query caused observer crash. #986

Closed
1 task done
imbawenzi opened this issue Jul 14, 2022 · 2 comments
Closed
1 task done

[Bug-0]: This following SQL query caused observer crash. #986

imbawenzi opened this issue Jul 14, 2022 · 2 comments
Assignees
Labels
type: bug Something isn't working

Comments

@imbawenzi
Copy link

imbawenzi commented Jul 14, 2022

Please check the issue list for the same bug

  • I have checked issue list and this bug is encountered for the first time.

Environment

- OceanBase 3.1.4 (r1-e8452fc9476833d40576e73fe208f579d3c06655)
- Ubuntu 18.04
- obclient  Ver 15.1 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1

Fast Reproduce Steps(Required)

This following SQL query caused observer crash.

CREATE TABLE x2378 ( CHECK ( x2378 = 1 ) ) ; INSERT INTO x2378 VALUES ( ) ; INSERT INTO x2378 VALUES ( 1 , 1 , 1 ) ; SELECT 1 * 1 FROM x2378 AS x2378 NATURAL JOIN x2378 AS x2378 JOIN x2378 AS x2378 , x2378 AS x2378 NATURAL JOIN x2378 AS x2378 , x2378 AS x2378 , x2378 ;

Actual Behavior

observer crashed in debug version

Expected Behavior

No response

other information

#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f57a3e7b7f1 in __GI_abort () at abort.c:79
#2 0x00007f57a3e6b3fa in __assert_fail_base (fmt=0x7f56c36bbe50 "%s%s%s:%u:%s%s?? '%s' ???\n%n", assertion=assertion@entry=0x317345 "v", file=file@entry=0x3bc677 "/oceanbase/deps/oblib/src/lib/container/ob_array_wrap.h", line=line@entry=49, function=function@entry=0x5cab9f "T &oceanbase::common::ObIArrayWrap<oceanbase::sql::ObColumnRefRawExpr *>::at(int64_t) [T = oceanbase::sql::ObColumnRefRawExpr *]") at assert.c:92
#3 0x00007f57a3e6b472 in __GI___assert_fail (assertion=0x317345 "v", file=0x3bc677 "/oceanbase/deps/oblib/src/lib/container/ob_array_wrap.h", line=49, function=0x5cab9f "T &oceanbase::common::ObIArrayWrap<oceanbase::sql::ObColumnRefRawExpr *>::at(int64_t) [T = oceanbase::sql::ObColumnRefRawExpr *]") at assert.c:101
#4 0x0000000004ce08f3 in oceanbase::common::ObIArrayWrapoceanbase::sql::ObColumnRefRawExpr*::at (this=0x7f565018f2b8, idx=0) at ./deps/oblib/src/lib/container/ob_array_wrap.h:49
#5 0x0000000006e3fce1 in oceanbase::sql::ObInsertResolver::resolve_insert_values (this=0x7f56545a4d30, node=0x7f5654595918) at ./src/sql/resolver/dml/ob_insert_resolver.cpp:1440
#6 0x0000000006e2e204 in oceanbase::sql::ObInsertResolver::resolve_values (this=0x7f56545a4d30, value_node=...) at ./src/sql/resolver/dml/ob_insert_resolver.cpp:995
#7 0x0000000006e2810b in oceanbase::sql::ObInsertResolver::resolve_single_table_insert (this=0x7f56545a4d30, node=...) at ./src/sql/resolver/dml/ob_insert_resolver.cpp:214
#8 0x0000000006e25c1f in oceanbase::sql::ObInsertResolver::resolve (this=0x7f56545a4d30, parse_tree=...) at ./src/sql/resolver/dml/ob_insert_resolver.cpp:78
#9 0x0000000005ba6268 in oceanbase::sql::ObResolver::stmt_resolver_funcoceanbase::sql::ObInsertResolver (this=0x7f56d2a32e28, params=..., parse_tree=..., stmt=@0x7f56d2a33e80: 0x0) at ./src/sql/resolver/ob_resolver.cpp:125
#10 0x0000000005b3d733 in oceanbase::sql::ObResolver::resolve (this=0x7f56d2a32e28, if_prepared=oceanbase::sql::ObResolver::IS_NOT_PREPARED_STMT, parse_tree=..., stmt=@0x7f56d2a33e80: 0x0) at ./src/sql/resolver/ob_resolver.cpp:272
#11 0x000000000666e7ca in oceanbase::sql::ObSql::generate_stmt (this=0xbddc740 oceanbase::observer::ObServer::get_instance()::THE_ONE+1111488, parse_result=..., pc_ctx=0x7f5654594960, context=..., allocator=..., result=..., stmt=@0x7f56d2a33e80: 0x0) at ./src/sql/ob_sql.cpp:1406
#12 0x000000000667352e in oceanbase::sql::ObSql::generate_physical_plan (this=0xbddc740 oceanbase::observer::ObServer::get_instance()::THE_ONE+1111488, parse_result=..., pc_ctx=0x7f5654594960, sql_ctx=..., result=..., is_ps_mode=false) at ./src/sql/ob_sql.cpp:1527
#13 0x00000000066718d5 in oceanbase::sql::ObSql::handle_physical_plan (this=0xbddc740 oceanbase::observer::ObServer::get_instance()::THE_ONE+1111488, trimed_stmt=..., context=..., result=..., pc_ctx=..., get_plan_err=-5138) at ./src/sql/ob_sql.cpp:3224
#14 0x00000000066f6ee4 in oceanbase::sql::ObSql::handle_text_query (this=0xbddc740 oceanbase::observer::ObServer::get_instance()::THE_ONE+1111488, stmt=..., context=..., result=...) at ./src/sql/ob_sql.cpp:1205
#15 0x00000000066641e1 in oceanbase::sql::ObSql::stmt_query (this=0xbddc740 oceanbase::observer::ObServer::get_instance()::THE_ONE+1111488, stmt=..., context=..., result=...) at ./src/sql/ob_sql.cpp:169
#16 0x000000000ad2940d in oceanbase::observer::ObMPQuery::do_process (this=0x7f56545824d0, session=..., has_more_result=false, force_sync_resp=false, async_resp_used=@0x7f56d2a36be9: false, need_disconnect=@0x7f56d2a36bea: true) at ./src/observer/mysql/obmp_query.cpp:628
#17 oceanbase::observer::ObMPQuery::process_single_stmt (this=0x7f56545824d0, multi_stmt_item=..., session=..., has_more_result=false, force_sync_resp=false, async_resp_used=@0x7f56d2a36be9: false, need_disconnect=@0x7f56d2a36bea: true) at ./src/observer/mysql/obmp_query.cpp:431
#18 0x000000000ad25bab in oceanbase::observer::ObMPQuery::process (this=0x7f56545824d0) at ./src/observer/mysql/obmp_query.cpp:248
#19 0x000000000b6c24ad in oceanbase::rpc::frame::ObReqProcessor::run (this=0x7f56545824d0) at ./deps/oblib/src/rpc/frame/ob_req_processor.cpp:50
#20 0x000000000aa86880 in oceanbase::omt::ObWorkerProcessor::process_one (this=0xc647b00 oceanbase::observer::ObServer::get_instance()::THE_ONE+9939328, req=..., process_ret=@0x7f56d2a36f38: 0) at ./src/observer/omt/ob_worker_processor.cpp:64
#21 0x000000000aa6342a in oceanbase::omt::ObWorkerProcessor::process (this=0xc647b00 oceanbase::observer::ObServer::get_instance()::THE_ONE+9939328, req=...) at ./src/observer/omt/ob_worker_processor.cpp:125
#22 0x000000000aa84636 in oceanbase::omt::ObThWorker::process_request (this=0x7f56e8a9dcb0, req=...) at ./src/observer/omt/ob_th_worker.cpp:286
#23 0x000000000aa6134f in oceanbase::omt::ObThWorker::worker (this=0x7f56e8a9dcb0, tenant_id=@0x7f56d2a37e08: 1, req_recv_timestamp=@0x7f56d2a37e00: 1657681424014312, worker_level=@0x7f56d2a37dfc: 0) at ./src/observer/omt/ob_th_worker.cpp:450
#24 0x000000000aa6181c in oceanbase::omt::ObThWorker::run (this=0x7f56e8a9dcb0, idx=0) at ./src/observer/omt/ob_th_worker.cpp:486
#25 0x0000000002961e1c in oceanbase::lib::CoKThreadTemp<oceanbase::lib::CoUserThreadTempoceanbase::lib::CoSetSched >::start()::{lambda()#1}::operator()() const (this=0x7f56d49e0688) at ./deps/oblib/src/lib/coro/co_user_thread.h:295
#26 0x0000000002961cad in std::_Function_handler<void (), oceanbase::lib::CoKThreadTemp<oceanbase::lib::CoUserThreadTempoceanbase::lib::CoSetSched >::start()::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at ./deps/3rd/usr/local/oceanbase/devtools/lib/gcc/x86_64-redhat-linux/5.2.0/../../../../include/c++/5.2.0/functional:1871
#27 0x0000000001ee4d3e in std::function<void ()>::operator()() const (this=0x7f56d49e0688) at ./deps/3rd/usr/local/oceanbase/devtools/lib/gcc/x86_64-redhat-linux/5.2.0/../../../../include/c++/5.2.0/functional:2271
#28 0x000000000b1fbc25 in oceanbase::lib::CoSetSched::Worker::run (this=0x7f56d49dc3e8) at ./deps/oblib/src/lib/coro/co_set_sched.cpp:92
#29 0x000000000b1fa3c5 in oceanbase::lib::CoRoutine::__start (from=...) at ./deps/oblib/src/lib/coro/co_routine.cpp:137
#30 0x000000000b1f302f in make_fcontext () at /oceanbase/deps/oblib/src/lib/coro/context/asm/make_x86_64_sysv_elf_gas.S:71
#31 0x0000000000000000 in ?? ()

@imbawenzi imbawenzi added the type: bug Something isn't working label Jul 14, 2022
@imbawenzi imbawenzi changed the title [Bug]: This following SQL query caused observer crash. [Bug-0]: This following SQL query caused observer crash. Jul 14, 2022
@longdafeng
Copy link
Member

Thanks for your feedback.

We will trace this problem in these two days.

@akaError
Copy link
Contributor

This problem is completely fixed but will be patched in next version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants