[MDEV-21616] Server crash when using "SET STATEMENT max_statement_time=N FOR desc xxx" lead to collapse Created: 2020-01-31  Updated: 2020-06-24  Resolved: 2020-02-05

Status: Closed
Project: MariaDB Server
Component/s: Server
Affects Version/s: 10.4.10, 10.4.11, 10.4.12, 10.4
Fix Version/s: 10.4.13

Type: Bug Priority: Blocker
Reporter: 张哈哈 Assignee: Oleksandr Byelkin
Resolution: Fixed Votes: 0
Labels: desc
Environment:

linux, mac


Issue Links:
Blocks
Duplicate
is duplicated by MDEV-23006 MariaDB service crashes when running ... Closed
Relates
relates to MDEV-18358 Server crash when using SET STATEMENT... Closed

 Description   

mariadb version (known):
10.4.10
10.4.11
10.4.12

execute:
SET STATEMENT max_statement_time=0 FOR desc table
max_statement_time any value,any table,the server must be crash.

Log:

200131 20:56:30 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see https://mariadb.com/kb/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Server version: 10.4.11-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=2
max_threads=153
thread_count=8
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467745 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7fec32089808
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x700010535eb0 thread_stack 0x49000
0 mysqld 0x000000010207ee24 my_print_stacktrace + 60
0 mysqld 0x0000000101a46fc4 handle_fatal_signal + 720
0 libsystem_platform.dylib 0x00007fff7c798b3d _sigtramp + 29
0 ??? 0x00007fec3208f3d0 0x0 + 140652428456912
0 mysqld 0x0000000101bfa676 _Z17mysql_init_selectP3LEX + 21
0 mysqld 0x0000000101d86a05 _Z10MYSQLparseP3THD + 35771
0 mysqld 0x0000000101bfaba0 _Z9parse_sqlP3THDP12Parser_stateP19Object_creation_ctxb + 131
0 mysqld 0x0000000101bed46c _Z11mysql_parseP3THDPcjP12Parser_statebb + 306
0 mysqld 0x0000000101beaebe _Z16dispatch_command19enum_server_commandP3THDPcjbb + 1463
0 mysqld 0x0000000101bed925 _Z10do_commandP3THD + 587
0 mysqld 0x0000000101ccefb6 _Z24do_handle_one_connectionP7CONNECT + 346
0 mysqld 0x0000000101ccee4f handle_one_connection + 56
0 libsystem_pthread.dylib 0x00007fff7c7a1339 _pthread_body + 126
0 libsystem_pthread.dylib 0x00007fff7c7a42a7 _pthread_start + 70
0 libsystem_pthread.dylib 0x00007fff7c7a0445 thread_start + 13

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x7fec318fc820): is an invalid pointer
Connection ID (thread ID): 16
Status: NOT_KILLED

Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

We think the query pointer is invalid, but we will try to print it anyway.
Query: SET STATEMENT max_statement_time=0 FOR desc mysql.user



 Comments   
Comment by Alice Sherepa [ 2020-02-03 ]

Thanks for the report!
Repeatable on the current 10.4, not on 5.5-10.3

10.4 eed6d215f13cae8b8

Version: '10.4.13-MariaDB-debug-log'
200203 12:26:23 [ERROR] mysqld got signal 11 ;
 
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f4fbc495390]
/10.4/sql/mysqld(+0x6dbe90)[0x55d266aafe90]
/10.4/sql/mysqld(_ZN13st_select_lex11init_selectEv+0x1e)[0x55d266bb4f8a]
/10.4/sql/mysqld(_Z17mysql_init_selectP3LEX+0x27)[0x55d266bf918c]
/10.4/sql/mysqld(_Z10MYSQLparseP3THD+0x278db)[0x55d266ebbe5f]
/10.4/sql/mysqld(_Z9parse_sqlP3THDP12Parser_stateP19Object_creation_ctxb+0x229)[0x55d266bffc09]
/10.4/sql/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x10f)[0x55d266bfa35c]
/10.4/sql/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcjbb+0x12b9)[0x55d266be5584]
/10.4/sql/mysqld(_Z10do_commandP3THD+0x8e2)[0x55d266be3be5]
/10.4/sql/mysqld(_Z24do_handle_one_connectionP7CONNECT+0x1e6)[0x55d266d74133]
/10.4/sql/mysqld(handle_one_connection+0x30)[0x55d266d73e5c]
sql/sql_list.h:159(base_list::empty())[0x55d2677d3627]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f4fbc48b6ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f4fbb06e41d]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x7f4fa40e79f0): SET STATEMENT max_statement_time=0 FOR desc mysql.user
 
#3  <signal handler called>
#4  0x000055d266aafe90 in base_list::empty (this=0x220) at /10.4/sql/sql_list.h:159
#5  0x000055d266bb4f8a in st_select_lex::init_select (this=0x0) at /10.4/sql/sql_lex.cc:2428
#6  0x000055d266bf918c in mysql_init_select (lex=0x7f4fa4004908) at /10.4/sql/sql_parse.cc:7491
#7  0x000055d266ebbe5f in MYSQLparse (thd=0x7f4fa4000a88) at /10.4/sql/sql_yacc.yy:14555
#8  0x000055d266bffc09 in parse_sql (thd=0x7f4fa4000a88, parser_state=0x7f4fb42f0fd0, creation_ctx=0x0, do_pfs_digest=true) at /10.4/sql/sql_parse.cc:10207
#9  0x000055d266bfa35c in mysql_parse (thd=0x7f4fa4000a88, rawbuf=0x7f4fa40e79f0 "SET STATEMENT max_statement_time=0 FOR desc mysql.user", length=54, parser_state=0x7f4fb42f0fd0, is_com_multi=false, is_next_command=false) at /10.4/sql/sql_parse.cc:7854
#10 0x000055d266be5584 in dispatch_command (command=COM_QUERY, thd=0x7f4fa4000a88, packet=0x7f4fa4007bc9 "SET STATEMENT max_statement_time=0 FOR desc mysql.user", packet_length=54, is_com_multi=false, is_next_command=false) at /10.4/sql/sql_parse.cc:1842
#11 0x000055d266be3be5 in do_command (thd=0x7f4fa4000a88) at /10.4/sql/sql_parse.cc:1360
#12 0x000055d266d74133 in do_handle_one_connection (connect=0x55d269c15798) at /10.4/sql/sql_connect.cc:1412
#13 0x000055d266d73e5c in handle_one_connection (arg=0x55d269c15798) at /10.4/sql/sql_connect.cc:1316
#14 0x000055d2677d3627 in pfs_spawn_thread (arg=0x55d269b52c58) at /10.4/storage/perfschema/pfs.cc:1869
#15 0x00007f4fbc48b6ba in start_thread (arg=0x7f4fb42f2700) at pthread_create.c:333
#16 0x00007f4fbb06e41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Comment by Oleksandr Byelkin [ 2020-02-03 ]

SET STATEMENT max_statement_time=0 FOR do 1;

the same

Comment by 张哈哈 [ 2020-02-06 ]

Can you tell me which day release 10.4.13? Thank you!

Comment by Oleksandr Byelkin [ 2020-02-06 ]

For now, next release planed for end of April.

Comment by 张哈哈 [ 2020-04-30 ]

Today is 20200430, Can you tell me which day release 10.4.13? Thank you!

Comment by Oleksandr Byelkin [ 2020-04-30 ]

should be soon (process of releasing have started)

Generated at Thu Feb 08 09:08:30 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.