[MDEV-15920] [Draft] Server hangs on shutdown Created: 2018-04-18  Updated: 2018-05-17  Resolved: 2018-05-16

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Sequence
Affects Version/s: 10.3
Fix Version/s: 10.3.7

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None

Attachments: HTML File threads     HTML File threads2     HTML File threads3    

 Description   

10.3 fa68b88b5d41

Thread 2 (Thread 0x7f4998b6e700 (LWP 25631)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000557f517da3e5 in safe_cond_wait (cond=0x557f52482800 <COND_thread_count>, mp=0x557f52481400 <LOCK_thread_count>, file=0x557f5186a680 "/data/src/10.3/include/mysql/psi/mysql_thread.h", line=1178) at /data/src/10.3/mysys/thr_mutex.c:492
#2  0x0000557f50c1e483 in inline_mysql_cond_wait (that=0x557f52482800 <COND_thread_count>, mutex=0x557f52481400 <LOCK_thread_count>, src_file=0x557f5186c57e "/data/src/10.3/sql/mysqld.cc", src_line=1850) at /data/src/10.3/include/mysql/psi/mysql_thread.h:1178
#3  0x0000557f50c20db6 in close_connections () at /data/src/10.3/sql/mysqld.cc:1850
#4  0x0000557f50c21322 in kill_server (sig_ptr=0x0) at /data/src/10.3/sql/mysqld.cc:2033
#5  0x0000557f50c2139d in kill_server_thread (arg=0x7f49ac192e50) at /data/src/10.3/sql/mysqld.cc:2065
#6  0x00007f49b04bd494 in start_thread (arg=0x7f4998b6e700) at pthread_create.c:333
#7  0x00007f49ae8a393f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f4998c96700 (LWP 21392)):
#0  0x00007f49b04c2450 in futex_wait (private=<optimized out>, expected=0, futex_word=0x7f49345ed304) at ../sysdeps/unix/sysv/linux/futex-internal.h:61
#1  futex_wait_simple (private=<optimized out>, expected=0, futex_word=0x7f49345ed304) at ../sysdeps/nptl/futex-internal.h:135
#2  __pthread_rwlock_wrlock_slow (rwlock=0x7f49345ed2f8) at pthread_rwlock_wrlock.c:67
#3  0x0000557f50f3fe45 in inline_mysql_rwlock_wrlock (that=0x7f49345ed2f8, src_file=0x557f51902a78 "/data/src/10.3/sql/sql_sequence.cc", src_line=401) at /data/src/10.3/include/mysql/psi/mysql_thread.h:964
#4  0x0000557f50f410a4 in SEQUENCE::write_lock (this=0x7f49345ed298, table=0x7f49240f0bb0) at /data/src/10.3/sql/sql_sequence.cc:401
#5  0x0000557f50f41218 in SEQUENCE::read_initial_values (this=0x7f49345ed298, table=0x7f49240f0bb0) at /data/src/10.3/sql/sql_sequence.cc:434
#6  0x0000557f517a2580 in ha_sequence::open (this=0x7f4924116708, name=0x7f49345ec810 "./test/seq6", mode=2, flags=18) at /data/src/10.3/sql/ha_sequence.cc:110
#7  0x0000557f51029373 in handler::ha_open (this=0x7f4924116708, table_arg=0x7f49240f0bb0, name=0x7f49345ec810 "./test/seq6", mode=2, test_if_locked=18, mem_root=0x0, partitions_to_open=0x0) at /data/src/10.3/sql/handler.cc:2684
#8  0x0000557f50e535ba in open_table_from_share (thd=0x7f4924000b00, share=0x7f49345ec2c8, alias=0x7f4924013c00, db_stat=33, prgflag=8, ha_open_flags=18, outparam=0x7f49240f0bb0, is_create_table=false, partitions_to_open=0x0) at /data/src/10.3/sql/table.cc:3462
#9  0x0000557f50cb694e in open_table (thd=0x7f4924000b00, table_list=0x7f4924013bb8, ot_ctx=0x7f4998c940b0) at /data/src/10.3/sql/sql_base.cc:1925
#10 0x0000557f50cb9800 in open_and_process_table (thd=0x7f4924000b00, lex=0x7f4924004880, tables=0x7f4924013bb8, counter=0x7f4998c94144, flags=0, prelocking_strategy=0x7f4998c941c0, has_prelocking_list=false, ot_ctx=0x7f4998c940b0) at /data/src/10.3/sql/sql_base.cc:3513
#11 0x0000557f50cba9cb in open_tables (thd=0x7f4924000b00, options=..., start=0x7f4998c94128, counter=0x7f4998c94144, flags=0, prelocking_strategy=0x7f4998c941c0) at /data/src/10.3/sql/sql_base.cc:4033
#12 0x0000557f50cbc722 in open_and_lock_tables (thd=0x7f4924000b00, options=..., tables=0x7f4924013bb8, derived=false, flags=0, prelocking_strategy=0x7f4998c941c0) at /data/src/10.3/sql/sql_base.cc:4908
#13 0x0000557f50c7d4cf in open_and_lock_tables (thd=0x7f4924000b00, tables=0x7f4924013bb8, derived=false, flags=0) at /data/src/10.3/sql/sql_base.h:489
#14 0x0000557f50f424cd in Sql_cmd_alter_sequence::execute (this=0x7f4924014218, thd=0x7f4924000b00) at /data/src/10.3/sql/sql_sequence.cc:890
#15 0x0000557f50d4c039 in mysql_execute_command (thd=0x7f4924000b00) at /data/src/10.3/sql/sql_parse.cc:6282
#16 0x0000557f50d50b06 in mysql_parse (thd=0x7f4924000b00, rawbuf=0x7f4924013a28 "ALTER SEQUENCE IF EXISTS seq6 MAXVALUE 6867  /* QNO 21760 CON_ID 18 */", length=70, parser_state=0x7f4998c95620, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8001
#17 0x0000557f50d3e2e9 in dispatch_command (command=COM_QUERY, thd=0x7f4924000b00, packet=0x7f492400b261 "", packet_length=72, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1846
#18 0x0000557f50d3cd28 in do_command (thd=0x7f4924000b00) at /data/src/10.3/sql/sql_parse.cc:1391
#19 0x0000557f50e9f791 in do_handle_one_connection (connect=0x557f54c84020) at /data/src/10.3/sql/sql_connect.cc:1402
#20 0x0000557f50e9f51e in handle_one_connection (arg=0x557f54c84020) at /data/src/10.3/sql/sql_connect.cc:1308
#21 0x00007f49b04bd494 in start_thread (arg=0x7f4998c96700) at pthread_create.c:333
#22 0x00007f49ae8a393f in clone () from /lib/x86_64-linux-gnu/libc.so.6

3 consequent stack traces during attempts to shutdown the server are attached.

experimental 75de94b07db420

perl ./runall-new.pl --duration=400 --threads=6 --seed=1524016301 --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --transformers=ConvertSubqueriesToViews,ConvertTablesToDerived,Count,DisableOptimizations,Distinct,EnableOptimizations,ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsDerived,ExecuteAsExcept,ExecuteAsExecuteImmediate,ExecuteAsInsertSelect,ExecuteAsIntersect,ExecuteAsSelectItem,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsWhereSubquery,Having,InlineSubqueries,LimitRowsExamined,OrderBy,StraightJoin,ExecuteAsPreparedTwice,ExecuteAsTrigger,ExecuteAsSPTwice,ExecuteAsFunctionTwice --redefine=conf/mariadb/general-workarounds.yy --mysqld=--log_output=FILE --mysqld=--log_bin_trust_function_creators=1 --mysqld=--log-bin --mysqld=--max-statement-time=30 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --views --redefine=conf/mariadb/sequences.yy --basedir=/data/bld/10.3 --grammar=conf/runtime/alter_online.yy --gendata=conf/runtime/alter_online.zz --vardir=/dev/shm/vardir



 Comments   
Comment by Michael Widenius [ 2018-05-16 ]

Probably fixed as part of patch "Added missing write_unlock() in case of errors"

After the above fix, Elena has not been able to reproduce the problem anymore.

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