Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL), 10.4(EOL)
Description
10.4 2cff807d |
2020-01-03 14:39:50 0x7f9534216700 InnoDB: Assertion failure in file /data/src/10.4/storage/innobase/sync/sync0rw.cc line 255
|
InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR
|
|
Query (0x7f94c0011d68): ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */
|
Connection ID (thread ID): 12
|
Status: KILL_SERVER
|
#6 0x00005653d0678a6a in ut_dbg_assertion_failed (expr=0x5653d0e03f18 "lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR", file=0x5653d0e03e90 "/data/src/10.4/storage/innobase/sync/sync0rw.cc", line=255) at /data/src/10.4/storage/innobase/ut/ut0dbg.cc:60
|
#7 0x00005653d061c65f in rw_lock_free_func (lock=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/sync/sync0rw.cc:255
|
#8 0x00005653d07d3a7e in pfs_rw_lock_free_func (lock=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/include/sync0rw.ic:617
|
#9 0x00005653d07d7d89 in fts_cache_destroy (cache=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:287
|
#10 0x00005653d07e2fb4 in fts_t::~fts_t (this=0x7f94c00844d8, __in_chrg=<optimized out>) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5349
|
#11 0x00005653d07e3094 in fts_free (table=0x7f94c043d0a8) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5386
|
#12 0x00005653d059a3e4 in row_drop_ancillary_fts_tables (table=0x7f94c043d0a8, trx=0x7f95218e4830) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3248
|
#13 0x00005653d059b7fb in row_drop_table_for_mysql (name=0x7f9534210e80 "test/#sql-73c7_c", trx=0x7f95218e4830, sqlcom=SQLCOM_ALTER_TABLE, create_failed=false, nonatomic=true) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3728
|
#14 0x00005653d0413245 in ha_innobase::delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c", sqlcom=SQLCOM_ALTER_TABLE) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13184
|
#15 0x00005653d03fc780 in ha_innobase::delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13309
|
#16 0x00005653d01aed5c in handler::ha_delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/sql/handler.cc:4695
|
#17 0x00005653d00d3783 in THD::rm_temporary_table (this=0x7f94c0000af0, base=0x5653d284a5c0, path=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/sql/temporary_tables.cc:701
|
#18 0x00005653d00d5663 in THD::free_tmp_table_share (this=0x7f94c0000af0, share=0x7f94c00c6ac0, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:1464
|
#19 0x00005653d00d35bb in THD::drop_temporary_table (this=0x7f94c0000af0, table=0x7f94c043aa80, is_trans=0x0, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:664
|
#20 0x00005653cff3810b in mysql_alter_table (thd=0x7f94c0000af0, new_db=0x7f94c00052b0, new_name=0x7f94c00056b8, create_info=0x7f9534213d40, table_list=0x7f94c0011eb0, alter_info=0x7f9534213c80, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10470
|
#21 0x00005653cffcf0cf in Sql_cmd_alter_table::execute (this=0x7f94c00126a8, thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_alter.cc:508
|
#22 0x00005653cfe4db75 in mysql_execute_command (thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_parse.cc:6102
|
#23 0x00005653cfe53237 in mysql_parse (thd=0x7f94c0000af0, rawbuf=0x7f94c0011d68 "ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */", length=79, parser_state=0x7f95342151b0, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7901
|
#24 0x00005653cfe3e3dc in dispatch_command (command=COM_QUERY, thd=0x7f94c0000af0, packet=0x7f94c037ebf1 "ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */ ", packet_length=80, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1842
|
#25 0x00005653cfe3ca69 in do_command (thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_parse.cc:1360
|
#26 0x00005653cffc59df in do_handle_one_connection (connect=0x5653d3484930) at /data/src/10.4/sql/sql_connect.cc:1412
|
#27 0x00005653cffc572e in handle_one_connection (arg=0x5653d3484930) at /data/src/10.4/sql/sql_connect.cc:1316
|
#28 0x00007f95391754a4 in start_thread (arg=0x7f9534216700) at pthread_create.c:456
|
#29 0x00007f95372a9d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Reproducible on 10.2-10.4.
Both debug and non-debug are affected.
Couldn't reproduce on 10.1 and 10.5.
To reproduce:
git clone https://github.com/MariaDB/randgen --branch mdev21329 rqg-mdev21329
|
cd rqg-mdev21329
|
perl runall-new.pl --basedir=<your basedir> --grammar=mdev21329.yy --duration=600 --threads=2 --scenario=Restart --skip-gendata --seed=1 --scenario-restart-interval=20 --vardir=/dev/shm/vardir-mdev21329
|
Remember to set the path to the basedir on the command line.
The test runs the following two statements concurrently on a table with fulltext index:
INSERT INTO t1 () VALUES () |
|
ALTER TABLE t1 CHANGE IF EXISTS <field> <field> INT, ALGORITHM=COPY;
|
and restarts the server every 20 seconds.
Currently it takes a few minutes to fail on my machine, but it can vary on different machines and builds.
Variations of the assertion representation:
10.2 ef1e488b |
2020-01-03 14:49:39 0x7f8f59057700 InnoDB: Assertion failure in file /data/src/10.2/storage/innobase/sync/sync0rw.cc line 259
|
InnoDB: Failing assertion: lock->lock_word == X_LOCK_DECR
|
10.3 02e30069 |
2020-01-03 14:48:58 0x7fbc04232700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/sync/sync0rw.cc line 258
|
InnoDB: Failing assertion: my_atomic_load32_explicit(&lock->lock_word, MY_MEMORY_ORDER_RELAXED) == X_LOCK_DECR
|
Attachments
Issue Links
- relates to
-
MDEV-23637 binlog_encryption.encrypted_master failed with InnoDB: my_atomic_load32_explicit(&lock->lock_word, MY_MEMORY_ORDER_RELAXED) == X_LOCK_DECR
-
- Closed
-
-
MDEV-24090 Optimize buf_page_optimistic_get()
-
- Open
-
-
MDEV-23693 Failing assertion: my_atomic_load32_explicit(&lock->lock_word, MY_MEMORY_ORDER_RELAXED) == X_LOCK_DECR
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Component/s | Full-text Search [ 10104 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Affects Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.3 [ 22126 ] | |
Description |
_Still work in progress, very poorly reproducible_
{noformat:title=10.4 89ae01fd} 2019-12-16 18:32:00 0x7fc8fc052700 InnoDB: Assertion failure in file /data/src/10.4/storage/innobase/sync/sync0rw.cc line 255 InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR #6 0x0000562280367b1c in ut_dbg_assertion_failed (expr=0x562280ad3cd8 "lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR", file=0x562280ad3c50 "/data/src/10.4/storage/innobase/sync/sync0rw.cc", line=255) at /data/src/10.4/storage/innobase/ut/ut0dbg.cc:60 #7 0x000056228030b89b in rw_lock_free_func (lock=0x7fc88414aa38) at /data/src/10.4/storage/innobase/sync/sync0rw.cc:255 #8 0x00005622804c220e in pfs_rw_lock_free_func (lock=0x7fc88414aa38) at /data/src/10.4/storage/innobase/include/sync0rw.ic:617 #9 0x00005622804c6527 in fts_cache_destroy (cache=0x7fc88414aa38) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:287 #10 0x00005622804d174e in fts_t::~fts_t (this=0x7fc884170628, __in_chrg=<optimized out>) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5349 #11 0x00005622804d182e in fts_free (table=0x7fc8841338c8) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5386 #12 0x0000562280289c3c in row_drop_ancillary_fts_tables (table=0x7fc8841338c8, trx=0x7fc8e8185268) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3248 #13 0x000056228028b053 in row_drop_table_for_mysql (name=0x7fc8fc04cea0 "test/#sql-673b_e", trx=0x7fc8e8185268, sqlcom=SQLCOM_ALTER_TABLE, create_failed=false, nonatomic=true) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3728 #14 0x00005622801057a5 in ha_innobase::delete_table (this=0x7fc884489a28, name=0x7fc8840fddb8 "./test/#sql-673b_e", sqlcom=SQLCOM_ALTER_TABLE) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13170 #15 0x00005622800eef22 in ha_innobase::delete_table (this=0x7fc884489a28, name=0x7fc8840fddb8 "./test/#sql-673b_e") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13295 #16 0x000056227fea152a in handler::ha_delete_table (this=0x7fc884489a28, name=0x7fc8840fddb8 "./test/#sql-673b_e") at /data/src/10.4/sql/handler.cc:4694 #17 0x000056227fdc64ed in THD::rm_temporary_table (this=0x7fc884000af0, base=0x562283828180, path=0x7fc8840fddb8 "./test/#sql-673b_e") at /data/src/10.4/sql/temporary_tables.cc:694 #18 0x000056227fdc83cd in THD::free_tmp_table_share (this=0x7fc884000af0, share=0x7fc8840fd820, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:1457 #19 0x000056227fdc6325 in THD::drop_temporary_table (this=0x7fc884000af0, table=0x7fc8841328c0, is_trans=0x0, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:657 #20 0x000056227fc2b4ec in mysql_alter_table (thd=0x7fc884000af0, new_db=0x7fc8840052a8, new_name=0x7fc8840056b0, create_info=0x7fc8fc04fd60, table_list=0x7fc884011f68, alter_info=0x7fc8fc04fca0, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10420 #21 0x000056227fcc1fc1 in Sql_cmd_alter_table::execute (this=0x7fc884012b68, thd=0x7fc884000af0) at /data/src/10.4/sql/sql_alter.cc:508 #22 0x000056227fb416ec in mysql_execute_command (thd=0x7fc884000af0) at /data/src/10.4/sql/sql_parse.cc:6099 #23 0x000056227fb46daf in mysql_parse (thd=0x7fc884000af0, rawbuf=0x7fc884011d08 "ALTER TABLE `table300_innodb_int_autoinc` /*!100301 */ CHANGE IF EXISTS p n YEAR /*!100201 CHECK (w <= 3) */, ALGORITHM=COPY /* QNO 172 CON_ID 14 */", length=149, parser_state=0x7fc8fc0511c0, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7898 #24 0x000056227fb31f8c in dispatch_command (command=COM_QUERY, thd=0x7fc884000af0, packet=0x7fc884008241 "ALTER TABLE `table300_innodb_int_autoinc` /*!100301 */ CHANGE IF EXISTS p n YEAR /*!100201 CHECK (w <= 3) */, ALGORITHM=COPY /* QNO 172 CON_ID 14 */ ", packet_length=150, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1842 #25 0x000056227fb30619 in do_command (thd=0x7fc884000af0) at /data/src/10.4/sql/sql_parse.cc:1360 #26 0x000056227fcb88d1 in do_handle_one_connection (connect=0x56228376bdb0) at /data/src/10.4/sql/sql_connect.cc:1412 #27 0x000056227fcb8620 in handle_one_connection (arg=0x56228376bdb0) at /data/src/10.4/sql/sql_connect.cc:1316 #28 0x00007fc8ff48f4a4 in start_thread (arg=0x7fc8fc052700) at pthread_create.c:456 #29 0x00007fc8fd9d6d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 {noformat} {noformat:title=rqg-ment a95fbb8b} perl runall-trials.pl --output="srv_force_recovery >= SRV_FORCE_NO_BACKGROUND|lock->lock_word.load" --trials=50 --grammar=/data/tmp/xlock1.yy --duration=350 --threads=6 --filter=/data/src/mariadb-toolbox/travis/10.4-combo-filter-asan.ff --scenario=Restart --gendata=conf/engines/innodb/full_text_search.zz --basedir=/data/bld/10.4 --seed=time --short-column-names --mysqld=--max-statement-time=15 --mysqld=--lock-wait-timeout=10 --mysqld=--loose-innodb-lock-wait-timeout=5 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --reporters=Backtrace,ErrorLog,Deadlock --mtr-build-thread=55 --vardir=/home/elenst/logs/xlock13a {noformat} {noformat:title=xlock1.yy} alt_alter: ALTER TABLE { $my_last_table = 't'.$prng->int(1,10) } alt_wait_optional; alt_alter_list_with_optional_order_by: ; alt_col_name_and_definition_list: ; alt_create: CREATE OR REPLACE TEMPORARY TABLE { $my_last_table = 't'.$prng->int(1,10) } (); alt_create_or_replace: CREATE OR REPLACE TEMPORARY TABLE { $my_last_table = 't'.$prng->int(1,10) } (); alt_flush: FLUSH TABLES; alt_ignore_optional: ; alt_online_optional: ; alt_optimize: OPTIMIZE TABLE { $my_last_table = 't'.$prng->int(1,10) }; alt_query: OPTIMIZE TABLE { $my_last_table = 't'.$prng->int(1,10) } ; alt_rename_multi: DROP TABLE IF EXISTS { $tmp_tbl= 'tmp_rename_'.abs($$) } ; RENAME TABLE { $my_last_table = 't'.$prng->int(1,10) } TO $tmp_tbl, $tmp_tbl TO { $my_last_table }; alt_table_flags: ; alt_table_name: { $my_last_table = 't'.$prng->int(1,10) }; alt_temporary: TEMPORARY; alt_transaction: COMMIT | ROLLBACK; alt_wait_optional: | /*!100301 WAIT _digit */; alttcol_add_column: ADD alttcol_column_word alttcol_if_not_exists ( alttcol_add_list ); alttcol_add_definition: BIT alttcol_optional_auto_increment alttcol_check_constraint | alttcol_int_type alttcol_zerofill alttcol_optional_auto_increment alttcol_check_constraint | SERIAL alttcol_check_constraint | YEAR alttcol_check_constraint | SET('foo','bar') alttcol_check_constraint; alttcol_add_list: alttcol_col_name alttcol_add_definition | alttcol_col_name alttcol_add_definition, alttcol_add_list; alttcol_algorithm: , ALGORITHM=COPY | /*!100307 , ALGORITHM=NOCOPY */ | /*!100307 , ALGORITHM=INSTANT */; alttcol_alter_column: ALTER alttcol_column_word /*!100305 IF EXISTS */ alttcol_col_name DROP DEFAULT; alttcol_change_column: CHANGE alttcol_column_word IF EXISTS alttcol_col_name alttcol_col_name alttcol_add_definition alttcol_location; alttcol_check_constraint: | /*!100201 CHECK (alttcol_check_constraint_expression) */; alttcol_check_constraint_expression: _letter alttcol_operator _letter | _letter alttcol_operator _digit; alttcol_col_name: _letter; alttcol_column_word: ; alttcol_default_char_val: NULL | ''; alttcol_default_int_or_auto_increment: alttcol_optional_auto_increment; alttcol_default_or_current_timestamp_val: '1970-01-01' | CURRENT_TIMESTAMP | 0; alttcol_enum_type: SET('foo','bar'); alttcol_geo_optional_default: | /*!100201 DEFAULT ST_GEOMFROMTEXT('Point(1 1)') */; alttcol_geo_type: POINT | POLYGON | MULTILINESTRING | MULTIPOLYGON | GEOMETRYCOLLECTION | GEOMETRY; alttcol_if_exists: IF EXISTS; alttcol_if_not_exists: | IF NOT EXISTS; alttcol_ignore: | IGNORE; alttcol_int_type: MEDIUMINT | BIGINT; alttcol_invisible: ; alttcol_item: CHANGE IF EXISTS _letter _letter alttcol_add_definition alttcol_location; alttcol_item_alg_lock: alttcol_item alttcol_algorithm alttcol_lock; alttcol_list: CHANGE IF EXISTS _letter _letter alttcol_add_definition alttcol_location alttcol_algorithm alttcol_lock ; # CHANGE IF EXISTS _letter _letter alttcol_add_definition alttcol_location alttcol_algorithm alttcol_lock, alttcol_list; alttcol_list_with_optional_order_by: alttcol_list alttcol_order_by; alttcol_location: | FIRST; alttcol_lock: | , LOCK=NONE; alttcol_modify_column: MODIFY alttcol_column_word IF EXISTS alttcol_col_name alttcol_add_definition alttcol_location; alttcol_null: ; alttcol_num_type: DECIMAL | FLOAT | DOUBLE; alttcol_online: ; alttcol_operator: != | LIKE | <= | > | >=; alttcol_optional_auto_increment: AUTO_INCREMENT | SERIAL DEFAULT VALUE; alttcol_optional_default: ; alttcol_optional_default_char: | DEFAULT alttcol_default_char_val; alttcol_optional_default_or_current_timestamp: | DEFAULT alttcol_default_or_current_timestamp_val; alttcol_order_by: ; alttcol_query: ALTER alttcol_ignore TABLE _table /*!100301 */ alttcol_list alttcol_order_by; alttcol_temporal_type: YEAR; alttcol_text_type: BLOB | TEXT | CHAR | VARCHAR(_smallint_unsigned) | BINARY | VARBINARY(_smallint_unsigned); alttcol_timestamp_type: DATETIME; alttcol_unsigned: ; alttcol_wait: ; alttcol_zerofill: | ZEROFILL; bulk_insert_load: INSERT INTO _table SELECT * FROM _table; bulk_replace_ignore: REPLACE | IGNORE; create_drop_index: ; delete: ; expression: > 1 | != 0; insert: INSERT INTO _table ( _field_no_pk ) VALUES ( _english ); limit_clause: LIMIT {$prng->int(10,30)}; natural_language_search: ; order_clause: ; query: # Can be removed, but... INSERT INTO _table ( _field_no_pk ) VALUES ( _english ) | OPTIMIZE TABLE { $my_last_table = 't'.$prng->int(1,10) } | ALTER alttcol_ignore TABLE _table /*!100301 */ alttcol_list ; query_expansion_search: SELECT _field_indexed[invariant], AS SCORE FROM _table LIMIT {$prng->int(10,30)}; query_expansion_search_condition: ; query_init: alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; alt_create_or_replace ; select: query_expansion_search; transaction: START TRANSACTION | COMMIT; {noformat} _Note: most of rules in this grammar are unused, it's not cleaned up_ |
{noformat:title=10.4 2cff807d}
2020-01-03 14:39:50 0x7f9534216700 InnoDB: Assertion failure in file /data/src/10.4/storage/innobase/sync/sync0rw.cc line 255 InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR Query (0x7f94c0011d68): ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */ Connection ID (thread ID): 12 Status: KILL_SERVER {noformat} {noformat} #6 0x00005653d0678a6a in ut_dbg_assertion_failed (expr=0x5653d0e03f18 "lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR", file=0x5653d0e03e90 "/data/src/10.4/storage/innobase/sync/sync0rw.cc", line=255) at /data/src/10.4/storage/innobase/ut/ut0dbg.cc:60 #7 0x00005653d061c65f in rw_lock_free_func (lock=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/sync/sync0rw.cc:255 #8 0x00005653d07d3a7e in pfs_rw_lock_free_func (lock=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/include/sync0rw.ic:617 #9 0x00005653d07d7d89 in fts_cache_destroy (cache=0x7f94c00b1e18) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:287 #10 0x00005653d07e2fb4 in fts_t::~fts_t (this=0x7f94c00844d8, __in_chrg=<optimized out>) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5349 #11 0x00005653d07e3094 in fts_free (table=0x7f94c043d0a8) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:5386 #12 0x00005653d059a3e4 in row_drop_ancillary_fts_tables (table=0x7f94c043d0a8, trx=0x7f95218e4830) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3248 #13 0x00005653d059b7fb in row_drop_table_for_mysql (name=0x7f9534210e80 "test/#sql-73c7_c", trx=0x7f95218e4830, sqlcom=SQLCOM_ALTER_TABLE, create_failed=false, nonatomic=true) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3728 #14 0x00005653d0413245 in ha_innobase::delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c", sqlcom=SQLCOM_ALTER_TABLE) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13184 #15 0x00005653d03fc780 in ha_innobase::delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13309 #16 0x00005653d01aed5c in handler::ha_delete_table (this=0x7f94c0013a10, name=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/sql/handler.cc:4695 #17 0x00005653d00d3783 in THD::rm_temporary_table (this=0x7f94c0000af0, base=0x5653d284a5c0, path=0x7f94c00c7058 "./test/#sql-73c7_c") at /data/src/10.4/sql/temporary_tables.cc:701 #18 0x00005653d00d5663 in THD::free_tmp_table_share (this=0x7f94c0000af0, share=0x7f94c00c6ac0, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:1464 #19 0x00005653d00d35bb in THD::drop_temporary_table (this=0x7f94c0000af0, table=0x7f94c043aa80, is_trans=0x0, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:664 #20 0x00005653cff3810b in mysql_alter_table (thd=0x7f94c0000af0, new_db=0x7f94c00052b0, new_name=0x7f94c00056b8, create_info=0x7f9534213d40, table_list=0x7f94c0011eb0, alter_info=0x7f9534213c80, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10470 #21 0x00005653cffcf0cf in Sql_cmd_alter_table::execute (this=0x7f94c00126a8, thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_alter.cc:508 #22 0x00005653cfe4db75 in mysql_execute_command (thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_parse.cc:6102 #23 0x00005653cfe53237 in mysql_parse (thd=0x7f94c0000af0, rawbuf=0x7f94c0011d68 "ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */", length=79, parser_state=0x7f95342151b0, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7901 #24 0x00005653cfe3e3dc in dispatch_command (command=COM_QUERY, thd=0x7f94c0000af0, packet=0x7f94c037ebf1 "ALTER TABLE t1 CHANGE IF EXISTS b a INT, ALGORITHM=COPY /* QNO 169 CON_ID 12 */ ", packet_length=80, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1842 #25 0x00005653cfe3ca69 in do_command (thd=0x7f94c0000af0) at /data/src/10.4/sql/sql_parse.cc:1360 #26 0x00005653cffc59df in do_handle_one_connection (connect=0x5653d3484930) at /data/src/10.4/sql/sql_connect.cc:1412 #27 0x00005653cffc572e in handle_one_connection (arg=0x5653d3484930) at /data/src/10.4/sql/sql_connect.cc:1316 #28 0x00007f95391754a4 in start_thread (arg=0x7f9534216700) at pthread_create.c:456 #29 0x00007f95372a9d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 {noformat} Reproducible on 10.2-10.4. Both debug and non-debug are affected. Couldn't reproduce on 10.1 and 10.5. To reproduce: {noformat} git clone https://github.com/MariaDB/randgen --branch mdev21329 rqg-mdev21329 cd rqg-mdev21329 perl runall-new.pl --basedir=<your basedir> --grammar=mdev21329.yy --duration=600 --threads=2 --scenario=Restart --skip-gendata --seed=1 --scenario-restart-interval=20 --vardir=/dev/shm/vardir-mdev21329 {noformat} Remember to set the path to the basedir on the command line. The test runs the following two statements concurrently on a table with fulltext index: {noformat} INSERT INTO t1 () VALUES () | ALTER TABLE t1 CHANGE IF EXISTS <field> <field> INT, ALGORITHM=COPY; {noformat} and restarts the server every 20 seconds. Currently it takes a few minutes to fail on my machine, but it can vary on different machines and builds. Variations of the assertion representation: {noformat:title=10.2 ef1e488b} 2020-01-03 14:49:39 0x7f8f59057700 InnoDB: Assertion failure in file /data/src/10.2/storage/innobase/sync/sync0rw.cc line 259 InnoDB: Failing assertion: lock->lock_word == X_LOCK_DECR {noformat} {noformat:title=10.3 02e30069} 2020-01-03 14:48:58 0x7fbc04232700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/sync/sync0rw.cc line 258 InnoDB: Failing assertion: my_atomic_load32_explicit(&lock->lock_word, MY_MEMORY_ORDER_RELAXED) == X_LOCK_DECR {noformat} |
Summary | InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR | InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR upon server shutdown |
Assignee | Elena Stepanova [ elenst ] | Marko Mäkelä [ marko ] |
Assignee | Marko Mäkelä [ marko ] | Thirunarayanan Balathandayuthapani [ thiru ] |
Component/s | Tests [ 10800 ] |
Labels | need_rr |
Link |
This issue relates to |
Link |
This issue relates to |
Labels | need_rr | rr-profile |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Thirunarayanan Balathandayuthapani [ thiru ] | Marko Mäkelä [ marko ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Marko Mäkelä [ marko ] | Thirunarayanan Balathandayuthapani [ thiru ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Fix Version/s | 10.2.35 [ 25022 ] | |
Fix Version/s | 10.3.26 [ 25021 ] | |
Fix Version/s | 10.4.16 [ 25020 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Fix Version/s | 10.5.7 [ 25019 ] |
Link | This issue relates to MDEV-24090 [ MDEV-24090 ] |
Workflow | MariaDB v3 [ 102112 ] | MariaDB v4 [ 157107 ] |