The assert from above did not show up again. But now I got rare
|
# 2021-01-04 05:19:19 0x1cab5a88a300 InnoDB: Assertion failure in file /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc line 4596
|
# InnoDB: Failing assertion: rec
|
for a SHOW ENGINE INNODB STATUS
|
(rr) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x00007f4dc7b2b859 in __GI_abort () at abort.c:79
|
#2 0x00005645761d4cf3 in ut_dbg_assertion_failed (expr=0x56457764b400 "rec", file=0x56457764ece0 "/Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc", line=4596) at /Server/bb-10.6-MDEV-515A/storage/innobase/ut/ut0dbg.cc:60
|
#3 0x0000564575e59421 in lock_rec_validate_page (block=0x66e83e73ea60, latched=false) at /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:4596
|
#4 0x0000564575e5a08f in lock_rec_block_validate (page_id=...) at /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:4698
|
#5 0x0000564575e5a9e5 in lock_validate () at /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:4762
|
#6 0x0000564575e56aea in lock_print_info_all_transactions (file=0x615000002d80) at /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:4294
|
#7 0x000056457611d607 in srv_printf_innodb_monitor (file=0x615000002d80, nowait=0, trx_start_pos=0x1cab5a887840, trx_end=0x1cab5a887860) at /Server/bb-10.6-MDEV-515A/storage/innobase/srv/srv0srv.cc:856
|
#8 0x0000564575cf2e75 in innodb_show_status (hton=0x615000002b18, thd=0x62b000038218, stat_print=0x5645751c35a0 <stat_print(THD*, char const*, size_t, char const*, size_t, char const*, size_t)>)
|
at /Server/bb-10.6-MDEV-515A/storage/innobase/handler/ha_innodb.cc:15597
|
#9 0x0000564575cf350b in innobase_show_status (hton=0x615000002b18, thd=0x62b000038218, stat_print=0x5645751c35a0 <stat_print(THD*, char const*, size_t, char const*, size_t, char const*, size_t)>, stat_type=HA_ENGINE_STATUS)
|
at /Server/bb-10.6-MDEV-515A/storage/innobase/handler/ha_innodb.cc:15679
|
#10 0x00005645751c3bf1 in ha_show_status (thd=0x62b000038218, db_type=0x615000002b18, stat=HA_ENGINE_STATUS) at /Server/bb-10.6-MDEV-515A/sql/handler.cc:6523
|
#11 0x0000564574994c75 in mysql_execute_command (thd=0x62b000038218) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:4042
|
#12 0x00005645749afd45 in mysql_parse (thd=0x62b000038218, rawbuf=0x62b000069238 "SHOW ENGINE INNODB STATUS", length=25, parser_state=0x1cab5a8887c0) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:7881
|
#13 0x0000564574986b1f in dispatch_command (command=COM_QUERY, thd=0x62b000038218, packet=0x6290019a5219 "", packet_length=25) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:1816
|
#14 0x00005645749839e5 in do_command (thd=0x62b000038218) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:1348
|
#15 0x0000564574dc455f in do_handle_one_connection (connect=0x6080000036b8, put_in_cache=true) at /Server/bb-10.6-MDEV-515A/sql/sql_connect.cc:1410
|
#16 0x0000564574dc3ec8 in handle_one_connection (arg=0x608000003338) at /Server/bb-10.6-MDEV-515A/sql/sql_connect.cc:1312
|
#17 0x0000564575ac69df in pfs_spawn_thread (arg=0x61500000b218) at /Server/bb-10.6-MDEV-515A/storage/perfschema/pfs.cc:2201
|
#18 0x000039e70c1da609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#19 0x00007f4dc7c28293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(rr)
|
|
sdp:/RQG2/storage/1609761915/TBR-810/dev/shm/vardir/1609761915/31/1/rr
|
_RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0
|
|
====================
|
Crash during CrashRecovery
|
# 2021-01-04T06:23:24 [3643335] | [rr 3970450 5721]2021-01-04 6:23:15 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=31844648,32232638
|
# 2021-01-04T06:23:24 [3643335] | [rr 3970450 9283]mysqld: /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:3598: void lock_table_ix_resurrect(dict_table_t*, trx_t*): Assertion `!lock_table_other_has_incompatible( trx, 256U, table, LOCK_IX)' failed.
|
(rr) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x0000654b35335859 in __GI_abort () at abort.c:79
|
#2 0x0000654b35335729 in __assert_fail_base (fmt=0x654b354cb588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5595007c9da0 "!lock_table_other_has_incompatible( trx, 256U, table, LOCK_IX)",
|
file=0x5595007c5ce0 "/Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc", line=3598, function=<optimized out>) at assert.c:92
|
#3 0x0000654b35346f36 in __GI___assert_fail (assertion=0x5595007c9da0 "!lock_table_other_has_incompatible( trx, 256U, table, LOCK_IX)", file=0x5595007c5ce0 "/Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc", line=3598,
|
function=0x5595007c9d40 "void lock_table_ix_resurrect(dict_table_t*, trx_t*)") at assert.c:101
|
#4 0x00005594fefc9ed7 in lock_table_ix_resurrect (table=0x618000001d20, trx=0x6bc608beca50) at /Server/bb-10.6-MDEV-515A/storage/innobase/lock/lock0lock.cc:3598
|
#5 0x00005594ff31f9a6 in trx_resurrect_table_locks (trx=0x6bc608beca50, undo=0x612000006658) at /Server/bb-10.6-MDEV-515A/storage/innobase/trx/trx0trx.cc:636
|
#6 0x00005594ff3208dd in trx_resurrect (undo=0x612000006658, rseg=0x613000008558, start_time=1609770195, start_time_micro=3511233041922, rows_to_undo=0x7ffe5ef10db0, is_old_insert=false) at /Server/bb-10.6-MDEV-515A/storage/innobase/trx/trx0trx.cc:718
|
#7 0x00005594ff321004 in trx_lists_init_at_db_start () at /Server/bb-10.6-MDEV-515A/storage/innobase/trx/trx0trx.cc:779
|
#8 0x00005594ff2ab2d0 in srv_start (create_new_db=false) at /Server/bb-10.6-MDEV-515A/storage/innobase/srv/srv0start.cc:1458
|
#9 0x00005594fee266ed in innodb_init (p=0x615000002b18) at /Server/bb-10.6-MDEV-515A/storage/innobase/handler/ha_innodb.cc:3697
|
#10 0x00005594fe30bba5 in ha_initialize_handlerton (plugin=0x621000030810) at /Server/bb-10.6-MDEV-515A/sql/handler.cc:645
|
#11 0x00005594fdb452d8 in plugin_initialize (tmp_root=0x7ffe5ef146e0, plugin=0x621000030810, argc=0x559501fab200 <remaining_argc>, argv=0x615000000ff8, options_only=false) at /Server/bb-10.6-MDEV-515A/sql/sql_plugin.cc:1459
|
#12 0x00005594fdb47266 in plugin_init (argc=0x559501fab200 <remaining_argc>, argv=0x615000000ff8, flags=0) at /Server/bb-10.6-MDEV-515A/sql/sql_plugin.cc:1751
|
#13 0x00005594fd80066b in init_server_components () at /Server/bb-10.6-MDEV-515A/sql/mysqld.cc:4950
|
#14 0x00005594fd80265e in mysqld_main (argc=44, argv=0x615000000ff8) at /Server/bb-10.6-MDEV-515A/sql/mysqld.cc:5539
|
#15 0x00005594fd7ec14d in main (argc=43, argv=0x7ffe5ef16e18) at /Server/bb-10.6-MDEV-515A/sql/main.cc:25
|
(rr)
|
|
sdp:/RQG2/storage/1609761915/TBR-812/dev/shm/vardir/1609761915/60/1/rr
|
_RR_TRACE_DIR="." rr replay --mark-stdio # Fate of server during CrashRecovery
|
Unfortunately the rr trace of the server till SIGKILL is rotten (looks like problem in rr).
|
|
==============================
|
Workflow:
|
1. Start server, create initial data
|
2. DDL/DML load on server
|
3. During 2. is ongoing SIGKILL server process
|
4. Restart attempt with success
|
5. Run SELECTs on the tables
|
ERROR: SELECT * FROM `test`.`t5` FORCE INDEX (`uidx3`) WHERE `col_int` >= -9223372036854775808 OR `col_int` IS NULL OR `col_int` IS NOT NULL harvested 2013: Lost connection to MySQL server during query.
|
ASAN failure
|
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 178443][rr 2843794 178447]==2843794==ERROR: AddressSanitizer: negative-size-param: (size=-6)
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 178450][rr 2843794 187666] #0 0x3be60ff80fcd (/lib/x86_64-linux-gnu/libasan.so.5+0x67fcd)
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 187811] #1 0x55711bd43a71 in row_mysql_pad_col(unsigned long, unsigned char*, unsigned long) /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0mysql.cc:353
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 187942] #2 0x55711bdc9639 in row_sel_field_store_in_mysql_format_func(unsigned char*, mysql_row_templ_t const*, dict_index_t const*, unsigned long, unsigned char const*, unsigned long) /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:2732
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 187947] #3 0x55711bdcba6e in row_sel_store_mysql_field /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:2962
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 187949] #4 0x55711bdd1488 in row_search_idx_cond_check /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:3943
|
# 2021-01-04T05:00:44 [2769017] | [rr 2843794 187959] #5 0x55711bdda338 in row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:5266
|
...
|
|
(rr) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x00003be610b81859 in __GI_abort () at abort.c:79
|
#2 0x00003be6100446a2 in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
|
#3 0x00003be61004f24c in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
|
#4 0x00003be6100308ec in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
|
#5 0x00003be61002fdc2 in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
|
#6 0x00003be60ff8100c in ?? () from /lib/x86_64-linux-gnu/libasan.so.5
|
#7 0x000055711bd43a72 in row_mysql_pad_col (mbminlen=1, pad=0x61a0002796cb "", len=18446744073709551610) at /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0mysql.cc:353
|
#8 0x000055711bdc963a in row_sel_field_store_in_mysql_format_func (dest=0x61a0002796c1 "1111111111", templ=0x618000077128, index=0x616001705320, field_no=1, data=0x2d2b715e2083 "1111111111\200", len=10)
|
at /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:2732
|
#9 0x000055711bdcba6f in row_sel_store_mysql_field (mysql_rec=0x61a0002796b8 "\377\001", prebuilt=0x62100091f1a0, rec=0x2d2b715e207f "\200", index=0x616001705320, offsets=0x44d51005dee0, field_no=1, templ=0x618000077128)
|
at /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:2962
|
#10 0x000055711bdd1489 in row_search_idx_cond_check (mysql_rec=0x61a0002796b8 "\377\001", prebuilt=0x62100091f1a0, rec=0x2d2b715e207f "\200", offsets=0x44d51005dee0) at /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:3943
|
#11 0x000055711bdda339 in row_search_mvcc (buf=0x61a0002796b8 "\377\001", mode=PAGE_CUR_GE, prebuilt=0x62100091f1a0, match_mode=0, direction=0) at /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0sel.cc:5266
|
#12 0x000055711b9cc052 in ha_innobase::index_read (this=0x61d0004fbab8, buf=0x61a0002796b8 "\377\001", key_ptr=0x621000921a00 "\001", key_len=5, find_flag=HA_READ_KEY_OR_NEXT) at /Server/bb-10.6-MDEV-515A/storage/innobase/handler/ha_innodb.cc:8562
|
#13 0x000055711aed6ddf in handler::index_read_map (this=0x61d0004fbab8, buf=0x61a0002796b8 "\377\001", key=0x621000921a00 "\001", keypart_map=1, find_flag=HA_READ_KEY_OR_NEXT) at /Server/bb-10.6-MDEV-515A/sql/handler.h:3797
|
#14 0x000055711aea6ddc in handler::ha_index_read_map (this=0x61d0004fbab8, buf=0x61a0002796b8 "\377\001", key=0x621000921a00 "\001", keypart_map=1, find_flag=HA_READ_KEY_OR_NEXT) at /Server/bb-10.6-MDEV-515A/sql/handler.cc:3123
|
#15 0x000055711aec1bde in handler::read_range_first (this=0x61d0004fbab8, start_key=0x61d0004fbbb8, end_key=0x0, eq_range_arg=false, sorted=true) at /Server/bb-10.6-MDEV-515A/sql/handler.cc:6190
|
#16 0x000055711ab9b371 in handler::multi_range_read_next (this=0x61d0004fbab8, range_info=0x44d51005ecc0) at /Server/bb-10.6-MDEV-515A/sql/multi_range_read.cc:516
|
#17 0x000055711ab9b7c2 in Mrr_simple_index_reader::get_next (this=0x61d0004fc0e0, range_info=0x44d51005ecc0) at /Server/bb-10.6-MDEV-515A/sql/multi_range_read.cc:553
|
#18 0x000055711aba5451 in DsMrr_impl::dsmrr_next (this=0x61d0004fbf90, range_info=0x44d51005ecc0) at /Server/bb-10.6-MDEV-515A/sql/multi_range_read.cc:1653
|
#19 0x000055711b9fcb24 in ha_innobase::multi_range_read_next (this=0x61d0004fbab8, range_info=0x44d51005ecc0) at /Server/bb-10.6-MDEV-515A/storage/innobase/handler/ha_innodb.cc:19408
|
#20 0x000055711b2c9c9d in QUICK_RANGE_SELECT::get_next (this=0x613000306480) at /Server/bb-10.6-MDEV-515A/sql/opt_range.cc:12251
|
#21 0x000055711b2fefd7 in rr_quick (info=0x62b0000c9180) at /Server/bb-10.6-MDEV-515A/sql/records.cc:403
|
#22 0x000055711a4d3de8 in READ_RECORD::read_record (this=0x62b0000c9180) at /Server/bb-10.6-MDEV-515A/sql/records.h:81
|
#23 0x000055711a7e4317 in join_init_read_record (tab=0x62b0000c90b8) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:21573
|
#24 0x000055711a7dd36e in sub_select (join=0x62b0000c65e0, join_tab=0x62b0000c90b8, end_of_records=false) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:20595
|
#25 0x000055711a7db73c in do_select (join=0x62b0000c65e0, procedure=0x0) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:20145
|
#26 0x000055711a768491 in JOIN::exec_inner (this=0x62b0000c65e0) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:4472
|
#27 0x000055711a765a7c in JOIN::exec (this=0x62b0000c65e0) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:4252
|
#28 0x000055711a7699f6 in mysql_select (thd=0x62b0000bd218, tables=0x62b0000c4a98, fields=..., conds=0x62b0000c58f8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x62b0000c65b0, unit=0x62b0000c13e0,
|
select_lex=0x62b0000c43b8) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:4668
|
#29 0x000055711a73b5da in handle_select (thd=0x62b0000bd218, lex=0x62b0000c1318, result=0x62b0000c65b0, setup_tables_done_option=0) at /Server/bb-10.6-MDEV-515A/sql/sql_select.cc:417
|
#30 0x000055711a6a4b43 in execute_sqlcom_select (thd=0x62b0000bd218, all_tables=0x62b0000c4a98) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:6116
|
#31 0x000055711a693b05 in mysql_execute_command (thd=0x62b0000bd218) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:3820
|
#32 0x000055711a6afd45 in mysql_parse (thd=0x62b0000bd218, rawbuf=0x62b0000c4238 "SELECT * FROM `test`.`t5` FORCE INDEX (`uidx3`) WHERE `col_int` >= -9223372036854775808 OR `col_int` IS NULL OR `col_int` IS NOT NULL", length=133,
|
parser_state=0x44d5100607c0) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:7881
|
#33 0x000055711a686b1f in dispatch_command (command=COM_QUERY, thd=0x62b0000bd218, packet=0x6290000eb219 "", packet_length=133) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:1816
|
#34 0x000055711a6839e5 in do_command (thd=0x62b0000bd218) at /Server/bb-10.6-MDEV-515A/sql/sql_parse.cc:1348
|
#35 0x000055711aac455f in do_handle_one_connection (connect=0x6080000057b8, put_in_cache=true) at /Server/bb-10.6-MDEV-515A/sql/sql_connect.cc:1410
|
#36 0x000055711aac3ec8 in handle_one_connection (arg=0x6080000057b8) at /Server/bb-10.6-MDEV-515A/sql/sql_connect.cc:1312
|
#37 0x000055711b7c69df in pfs_spawn_thread (arg=0x61500000c618) at /Server/bb-10.6-MDEV-515A/storage/perfschema/pfs.cc:2201
|
#38 0x0000245d41411609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#39 0x00003be610c7e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(rr)
|
|
sdp:/RQG2/storage/1609761915/TBR-811/dev/shm/vardir/1609761915/29/1/rr
|
_RR_TRACE_DIR="." rr replay --mark-stdio # Fate of server process after restart.
|
Unfortunately the rr trace of the server till SIGKILL is rotten (looks like problem in rr).
|
|
=================
|
sdp:/RQG3/storage/1609781811/000268.log shows a
|
mysqld: /Server/bb-10.6-MDEV-515A/storage/innobase/row/row0log.cc:3164: dberr_t row_log_table_apply(que_thr_t*, dict_table_t*, TABLE*, ut_stage_alter_t*, dict_table_t*): Assertion `error != DB_SUCCESS || clust_index->online_log->head.total == clust_index->online_log->tail.total' failed.
|
some ALTER TABLE gets hit by KILL_TIMEOUT
|
Could this be implemented pretty easily using libmysqld with a modified InnoDB that skips redo logging? The tool would allocate some (configurable) buffer pool and existing code could take care of flushing pages and building InnoDB structures.