Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
10.4.6, 10.6
-
None
-
Ubuntu 18.04
Description
- Install MariaDB Server in Ubuntu 18.04
- Add to my.cnf Galera section:
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep-on=1
binlog_format=row
log_bin=binlog
wsrep_cluster_address=gcomm://
- Restart MariaDB server:
systemctl restart mariadb
- Open mysql client and paste the following:
CREATE SCHEMA IF NOT EXISTS foo;
DROP PROCEDURE IF EXISTS foo.bar;
DELIMITER $$
CREATE PROCEDURE foo.bar()
BEGIN
START TRANSACTION;
DROP TEMPORARY TABLE IF EXISTS baz;
CREATE TEMPORARY TABLE baz(i INT UNSIGNED);
ROLLBACK;
END
$$
DELIMITER ;
CALL foo.bar;
Client returns:
ERROR 2013 (HY000): Lost connection to MySQL server during query
Log contains following:
mysqld: /home/buildbot/buildbot/build/mariadb-10.4.6/wsrep-lib/src/transaction.cpp:456: int wsrep::transaction::ordered_commit(): Assertion `state() == s_committing' failed.
|
190705 18:14:35 [ERROR] mysqld got signal 6 ;
|
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.6-MariaDB-1:10.4.6+maria~bionic-log
|
key_buffer_size=134217728
|
read_buffer_size=2097152
|
max_used_connections=1
|
max_threads=102
|
thread_count=11
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 760240 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x7fc59c03abd8
|
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 = 0x7fc5b015bdd8 thread_stack 0x49000
|
/usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x563a02cf7e0e]
|
/usr/sbin/mysqld(handle_fatal_signal+0x515)[0x563a02770f95]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fc5c1aa3890]
|
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7fc5c0db3e97]
|
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7fc5c0db5801]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x3039a)[0x7fc5c0da539a]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x30412)[0x7fc5c0da5412]
|
/usr/sbin/mysqld(_ZN5wsrep11transaction14ordered_commitEv+0x225)[0x563a02d744d5]
|
/usr/sbin/mysqld(+0x93628a)[0x563a0285228a]
|
/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG34write_transaction_to_binlog_eventsEPNS_18group_commit_entryE+0x1bb)[0x563a0285809b]
|
/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG27write_transaction_to_binlogEP3THDP17binlog_cache_mngrP9Log_eventbbb+0x1d7)[0x563a02858527]
|
/usr/sbin/mysqld(+0x93c5ff)[0x563a028585ff]
|
/usr/sbin/mysqld(+0x93c903)[0x563a02858903]
|
/usr/sbin/mysqld(+0x93ca63)[0x563a02858a63]
|
/usr/sbin/mysqld(_Z17ha_rollback_transP3THDb+0x17c)[0x563a0277493c]
|
/usr/sbin/mysqld(_Z14trans_rollbackP3THD+0x57)[0x563a02656c17]
|
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x375a)[0x563a025643ea]
|
/usr/sbin/mysqld(_ZN13sp_instr_stmt9exec_coreEP3THDPj+0x34)[0x563a024ca444]
|
/usr/sbin/mysqld(_ZN13sp_lex_keeper23reset_lex_and_exec_coreEP3THDPjbP8sp_instr+0x154)[0x563a024d0e64]
|
/usr/sbin/mysqld(_ZN13sp_instr_stmt7executeEP3THDPj+0x5b5)[0x563a024d1885]
|
/usr/sbin/mysqld(_ZN7sp_head7executeEP3THDb+0x9e6)[0x563a024ccd66]
|
/usr/sbin/mysqld(_ZN7sp_head17execute_procedureEP3THDP4ListI4ItemE+0x808)[0x563a024ce0b8]
|
/usr/sbin/mysqld(+0x63de25)[0x563a02559e25]
|
/usr/sbin/mysqld(_ZN12Sql_cmd_call7executeEP3THD+0x166)[0x563a0255bc96]
|
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x1f0b)[0x563a02562b9b]
|
/usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x22a)[0x563a0256971a]
|
/usr/sbin/mysqld(+0x64df66)[0x563a02569f66]
|
/usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcjbb+0x217a)[0x563a0256c9ea]
|
/usr/sbin/mysqld(_Z10do_commandP3THD+0x148)[0x563a0256d348]
|
/usr/sbin/mysqld(_Z24do_handle_one_connectionP7CONNECT+0x2c2)[0x563a02648542]
|
/usr/sbin/mysqld(handle_one_connection+0x3d)[0x563a0264860d]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7fc5c1a986db]
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7fc5c0e9688f]
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7fc59c14f480): ROLLBACK
|
Connection ID (thread ID): 41
|
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.
|
Writing a core file...
|
Working directory at /var/lib/mysql
|
Resource Limits:
|
Limit Soft Limit Hard Limit Units
|
Max cpu time unlimited unlimited seconds
|
Max file size unlimited unlimited bytes
|
Max data size unlimited unlimited bytes
|
Max stack size 8388608 unlimited bytes
|
Max core file size 0 unlimited bytes
|
Max resident set unlimited unlimited bytes
|
Max processes 3696 3696 processes
|
Max open files 16364 16364 files
|
Max locked memory 16777216 16777216 bytes
|
Max address space unlimited unlimited bytes
|
Max file locks unlimited unlimited locks
|
Max pending signals 3696 3696 signals
|
Max msgqueue size 819200 819200 bytes
|
Max nice priority 0 0
|
Max realtime priority 0 0
|
Max realtime timeout unlimited unlimited us
|
Reproduced the crash using RQG scripts, this issue is slightly sporadic.
Testcase
Start node1
Initiate RQG data load
#before initiating data load set innodb dirty page flushing percentage to 0
SET GLOBAL innodb_max_dirty_pages_pct=0;
SET GLOBAL innodb_max_dirty_pages_pct_lwm=0;
perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=3306:socket=/tmp/mysql.sock:user=root:database=test --spec=conf/mariadb/oltp.zz
perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=3306:socket=/tmp/mysql.sock:user=root:database=test --spec=conf/engines/innodb/full_text_search.zz
Initiate RQG OLTP run
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=3306:socket=/tmp/mysql.sock:user=root:database=test --grammar=conf/engines/innodb/full_text_search.yy --threads=32 --duration=300 --queries=10000
Start node2 after initiating RQG OLTP run
10.6.8 c2f33d0a7fa0b08cef29bbd2137dce2848c60b59 (Debug)
(gdb) bt
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1 0x000056461e0ff3ad in my_write_core (sig=sig@entry=6) at /test/mtest/10.6_dbg/mysys/stacktrace.c:424
#2 0x000056461d8afe39 in handle_fatal_signal (sig=6) at /test/mtest/10.6_dbg/sql/signal_handler.cc:345
#3 <signal handler called>
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5 0x00007f2a1afeb859 in __GI_abort () at abort.c:79
#6 0x00007f2a1afeb729 in __assert_fail_base (fmt=0x7f2a1b181588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56461e83b6c2 "state() == s_committing",
file=0x56461e83be58 "/test/mtest/10.6_dbg/wsrep-lib/src/transaction.cpp", line=563, function=<optimized out>) at assert.c:92
#7 0x00007f2a1affd006 in __GI___assert_fail (assertion=assertion@entry=0x56461e83b6c2 "state() == s_committing", file=file@entry=0x56461e83be58 "/test/mtest/10.6_dbg/wsrep-lib/src/transaction.cpp",
line=line@entry=563, function=function@entry=0x56461e83c4d8 "int wsrep::transaction::ordered_commit()") at assert.c:101
#8 0x000056461e252637 in wsrep::transaction::ordered_commit (this=this@entry=0x7f27880530f0) at /test/mtest/10.6_dbg/wsrep-lib/src/transaction.cpp:565
#9 0x000056461da0afd4 in wsrep::client_state::ordered_commit (this=0x7f2788053088) at /test/mtest/10.6_dbg/wsrep-lib/include/wsrep/client_state.hpp:510
#10 wsrep_ordered_commit (all=true, thd=0x7f278804c938) at /test/mtest/10.6_dbg/sql/wsrep_trans_observer.h:329
#11 MYSQL_BIN_LOG::queue_for_group_commit (this=this@entry=0x56461ec404c0 <mysql_bin_log>, orig_entry=orig_entry@entry=0x7f27c8414e20) at /test/mtest/10.6_dbg/sql/log.cc:7991
#12 0x000056461da15f88 in MYSQL_BIN_LOG::write_transaction_to_binlog_events (this=this@entry=0x56461ec404c0 <mysql_bin_log>, entry=entry@entry=0x7f27c8414e20) at /test/mtest/10.6_dbg/sql/log.cc:8018
#13 0x000056461da16dc0 in MYSQL_BIN_LOG::write_transaction_to_binlog (this=this@entry=0x56461ec404c0 <mysql_bin_log>, thd=thd@entry=0x7f278804c938, cache_mngr=cache_mngr@entry=0x7f2788066698,
end_ev=end_ev@entry=0x7f27c8414fe0, all=all@entry=true, using_stmt_cache=using_stmt_cache@entry=false, using_trx_cache=true, is_ro_1pc=false) at /test/mtest/10.6_dbg/sql/log.cc:7650
#14 0x000056461da1709a in binlog_flush_cache (thd=thd@entry=0x7f278804c938, cache_mngr=cache_mngr@entry=0x7f2788066698, end_ev=end_ev@entry=0x7f27c8414fe0, all=all@entry=true, using_stmt=using_stmt@entry=false,
using_trx=using_trx@entry=true, is_ro_1pc=false) at /test/mtest/10.6_dbg/sql/log.cc:1779
#15 0x000056461da17971 in binlog_rollback_flush_trx_cache (thd=thd@entry=0x7f278804c938, all=all@entry=true, cache_mngr=cache_mngr@entry=0x7f2788066698) at /test/mtest/10.6_dbg/sql/log.cc:1909
#16 0x000056461da18253 in binlog_rollback (hton=<optimized out>, thd=0x7f278804c938, all=<optimized out>) at /test/mtest/10.6_dbg/sql/log.cc:2268
#17 0x000056461d8b6028 in ha_rollback_trans (thd=thd@entry=0x7f278804c938, all=all@entry=true) at /test/mtest/10.6_dbg/sql/handler.cc:2166
#18 0x000056461d8c9f58 in ha_commit_trans (thd=thd@entry=0x7f278804c938, all=all@entry=true) at /test/mtest/10.6_dbg/sql/handler.cc:1933
#19 0x000056461d741885 in trans_begin (thd=thd@entry=0x7f278804c938, flags=0) at /test/mtest/10.6_dbg/sql/transaction.cc:127
#20 0x000056461d5ca2ea in mysql_execute_command (thd=thd@entry=0x7f278804c938, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/mtest/10.6_dbg/sql/sql_parse.cc:5598
#21 0x000056461d5b1df0 in mysql_parse (thd=thd@entry=0x7f278804c938, rawbuf=rawbuf@entry=0x7f278805b6a0 "START TRANSACTION /* QNO 17 CON_ID 51 */", length=length@entry=40,
parser_state=parser_state@entry=0x7f27c8416400) at /test/mtest/10.6_dbg/sql/sql_parse.cc:8029
#22 0x000056461d5b1776 in wsrep_mysql_parse (thd=thd@entry=0x7f278804c938, rawbuf=0x7f278805b6a0 "START TRANSACTION /* QNO 17 CON_ID 51 */", length=40, parser_state=parser_state@entry=0x7f27c8416400)
at /test/mtest/10.6_dbg/sql/sql_parse.cc:7843
#23 0x000056461d5c0bac in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f278804c938, packet=packet@entry=0x7f2788053549 "START TRANSACTION /* QNO 17 CON_ID 51 */ ",
packet_length=packet_length@entry=41, blocking=blocking@entry=true) at /test/mtest/10.6_dbg/sql/sql_class.h:1358
#24 0x000056461d5c3fdd in do_command (thd=0x7f278804c938, blocking=blocking@entry=true) at /test/mtest/10.6_dbg/sql/sql_parse.cc:1404
#25 0x000056461d72bc3d in do_handle_one_connection (connect=<optimized out>, connect@entry=0x564620593ba8, put_in_cache=put_in_cache@entry=true) at /test/mtest/10.6_dbg/sql/sql_connect.cc:1418
#26 0x000056461d72c245 in handle_one_connection (arg=arg@entry=0x564620593ba8) at /test/mtest/10.6_dbg/sql/sql_connect.cc:1312
#27 0x000056461dbde495 in pfs_spawn_thread (arg=0x5646205bbcb8) at /test/mtest/10.6_dbg/storage/perfschema/pfs.cc:2201
#28 0x00007f2a1b4fc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#29 0x00007f2a1b0e8163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)