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
-
With rr I'm persistently getting SIGSEGV with the same build and test where I am getting the assertion failure without rr.
10.4 79e32e47a1115 with rr
#0 0x0000000070000002 in ?? ()
#1 0x00007f30c797bb27 in _raw_syscall () at /home/roc/rr/rr/src/preload/raw_syscall.S:120
#2 0x00007f30c7976e7e in traced_raw_syscall (call=<optimized out>) at /home/roc/rr/rr/src/preload/syscallbuf.c:229
#3 0x00007f30c797ab55 in syscall_hook_internal (call=0x7f303b7fffa0) at /home/roc/rr/rr/src/preload/syscallbuf.c:2953
#4 syscall_hook (call=0x7f303b7fffa0) at /home/roc/rr/rr/src/preload/syscallbuf.c:2987
#5 0x00007f30c7976d5a in _syscall_hook_trampoline () at /home/roc/rr/rr/src/preload/syscall_hook.S:282
#6 0x00007f30c7976d8a in __morestack () at /home/roc/rr/rr/src/preload/syscall_hook.S:417
#7 0x00007f30c7976de3 in _syscall_hook_trampoline_89_c2_f7_da () at /home/roc/rr/rr/src/preload/syscall_hook.S:463
#8 0x00007f30c6e9d2d5 in __pthread_kill (threadid=<optimized out>, signo=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
#9 0x00005563623f2555 in my_write_core (sig=11) at /home/mdbe/MDEV-21329/10.4/mysys/stacktrace.c:386
#10 0x0000556361b5360b in handle_fatal_signal (sig=11) at /home/mdbe/MDEV-21329/10.4/sql/signal_handler.cc:343
#11 <signal handler called>
#12 0x0000556361dce0d5 in PolicyMutex<TTASEventMutex<GenericPolicy> >::pfs_begin_lock (this=0x0, state=0x7f30940a7640, name=0x55636282f550 "/home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0opt.cc", line=2607)
at /home/mdbe/MDEV-21329/10.4/storage/innobase/include/ib0mutex.h:709
#13 0x0000556361dcc499 in PolicyMutex<TTASEventMutex<GenericPolicy> >::enter (this=0x0, n_spins=30, n_delay=4, name=0x55636282f550 "/home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0opt.cc", line=2607)
at /home/mdbe/MDEV-21329/10.4/storage/innobase/include/ib0mutex.h:589
#14 0x00005563621a5c44 in fts_optimize_remove_table (table=0x7f3024106db0) at /home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0opt.cc:2607
#15 0x0000556361f55b6e in row_drop_table_for_mysql (name=0x7f30940a7f60 "test/#sql2-1419-c", trx=0x7f30af984140, sqlcom=SQLCOM_ALTER_TABLE, create_failed=false, nonatomic=true)
at /home/mdbe/MDEV-21329/10.4/storage/innobase/row/row0mysql.cc:3392
#16 0x0000556361dcb190 in ha_innobase::delete_table (this=0x7f3024014b78, name=0x7f30940a9a30 "./test/#sql2-1419-c", sqlcom=SQLCOM_ALTER_TABLE) at /home/mdbe/MDEV-21329/10.4/storage/innobase/handler/ha_innodb.cc:13095
#17 0x0000556361db3888 in ha_innobase::delete_table (this=0x7f3024014b78, name=0x7f30940a9a30 "./test/#sql2-1419-c") at /home/mdbe/MDEV-21329/10.4/storage/innobase/handler/ha_innodb.cc:13220
#18 0x0000556361b62fc0 in handler::ha_delete_table (this=0x7f3024014b78, name=0x7f30940a9a30 "./test/#sql2-1419-c") at /home/mdbe/MDEV-21329/10.4/sql/handler.cc:4747
#19 0x0000556361b5bf39 in ha_delete_table (thd=0x7f3024000d50, table_type=0x556365aacc10, path=0x7f30940a9a30 "./test/#sql2-1419-c", db=0x7f30940ab750, alias=0x7f30940a9e30, generate_warning=false)
at /home/mdbe/MDEV-21329/10.4/sql/handler.cc:2624
#20 0x00005563618d8da3 in quick_rm_table (thd=0x7f3024000d50, base=0x556365aacc10, db=0x7f30940ab750, table_name=0x7f30940a9e30, flags=3, table_path=0x0) at /home/mdbe/MDEV-21329/10.4/sql/sql_table.cc:2767
#21 0x00005563618eec7f in mysql_alter_table (thd=0x7f3024000d50, new_db=0x7f3024005518, new_name=0x7f3024005920, create_info=0x7f30940ac320, table_list=0x7f3024012120, alter_info=0x7f30940ac260, order_num=0, order=0x0, ignore=false)
at /home/mdbe/MDEV-21329/10.4/sql/sql_table.cc:10422
#22 0x0000556361986202 in Sql_cmd_alter_table::execute (this=0x7f3024012918, thd=0x7f3024000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_alter.cc:514
#23 0x0000556361802bcb in mysql_execute_command (thd=0x7f3024000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:6098
#24 0x00005563618080ad in mysql_parse (thd=0x7f3024000d50, rawbuf=0x7f3024011fd8 "ALTER TABLE t1 CHANGE IF EXISTS b b INT, ALGORITHM=COPY /* QNO 49 CON_ID 12 */", length=78, parser_state=0x7f30940ad5a0, is_com_multi=false,
is_next_command=false) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:7896
#25 0x00005563617f45e7 in dispatch_command (command=COM_QUERY, thd=0x7f3024000d50, packet=0x7f30241e7151 "ALTER TABLE t1 CHANGE IF EXISTS b b INT, ALGORITHM=COPY /* QNO 49 CON_ID 12 */ ", packet_length=79, is_com_multi=false,
is_next_command=false) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:1834
#26 0x00005563617f2d88 in do_command (thd=0x7f3024000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:1352
#27 0x000055636197cc24 in do_handle_one_connection (connect=0x5563666f7ed0) at /home/mdbe/MDEV-21329/10.4/sql/sql_connect.cc:1412
#28 0x000055636197c973 in handle_one_connection (arg=0x5563666f7ed0) at /home/mdbe/MDEV-21329/10.4/sql/sql_connect.cc:1316
#29 0x00007f30c6e956db in start_thread (arg=0x7f30940ae700) at pthread_create.c:463
#30 0x00007f30c5923a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
10.4 79e32e47a1115 without rr
2020-09-29 16:21:06 0x7f2e00182700 InnoDB: Assertion failure in file /home/mdbe/MDEV-21329/10.4/storage/innobase/sync/sync0rw.cc line 252
InnoDB: Failing assertion: lock->lock_word == X_LOCK_DECR
#5 0x00007f2e159498b1 in __GI_abort () at abort.c:79
#6 0x000055cd30c3833a in ut_dbg_assertion_failed (expr=0x55cd313ab180 "lock->lock_word == X_LOCK_DECR", file=0x55cd313ab0f0 "/home/mdbe/MDEV-21329/10.4/storage/innobase/sync/sync0rw.cc", line=252) at /home/mdbe/MDEV-21329/10.4/storage/innobase/ut/ut0dbg.cc:60
#7 0x000055cd30bdf72b in rw_lock_free_func (lock=0x7f2d94298100) at /home/mdbe/MDEV-21329/10.4/storage/innobase/sync/sync0rw.cc:252
#8 0x000055cd30d93f7d in pfs_rw_lock_free_func (lock=0x7f2d94298100) at /home/mdbe/MDEV-21329/10.4/storage/innobase/include/sync0rw.ic:605
#9 0x000055cd30d99050 in fts_cache_destroy (cache=0x7f2d94298100) at /home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0fts.cc:287
#10 0x000055cd30da42ce in fts_t::~fts_t (this=0x7f2d9445eea0, __in_chrg=<optimized out>) at /home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0fts.cc:5317
#11 0x000055cd30da43ae in fts_free (table=0x7f2d98079aa0) at /home/mdbe/MDEV-21329/10.4/storage/innobase/fts/fts0fts.cc:5354
#12 0x000055cd30b5f319 in row_drop_ancillary_fts_tables (table=0x7f2d98079aa0, trx=0x7f2e00184140) at /home/mdbe/MDEV-21329/10.4/storage/innobase/row/row0mysql.cc:3241
#13 0x000055cd30b60681 in row_drop_table_for_mysql (name=0x7f2e0017d470 "test/#sql-7435_c", trx=0x7f2e00184140, sqlcom=SQLCOM_ALTER_TABLE, create_failed=false, nonatomic=true) at /home/mdbe/MDEV-21329/10.4/storage/innobase/row/row0mysql.cc:3692
#14 0x000055cd309d5190 in ha_innobase::delete_table (this=0x7f2d94015e50, name=0x7f2d942d9070 "./test/#sql-7435_c", sqlcom=SQLCOM_ALTER_TABLE) at /home/mdbe/MDEV-21329/10.4/storage/innobase/handler/ha_innodb.cc:13095
#15 0x000055cd309bd888 in ha_innobase::delete_table (this=0x7f2d94015e50, name=0x7f2d942d9070 "./test/#sql-7435_c") at /home/mdbe/MDEV-21329/10.4/storage/innobase/handler/ha_innodb.cc:13220
#16 0x000055cd3076cfc0 in handler::ha_delete_table (this=0x7f2d94015e50, name=0x7f2d942d9070 "./test/#sql-7435_c") at /home/mdbe/MDEV-21329/10.4/sql/handler.cc:4747
#17 0x000055cd3068fc33 in THD::rm_temporary_table (this=0x7f2d94000d50, base=0x55cd33b8fc10, path=0x7f2d942d9070 "./test/#sql-7435_c") at /home/mdbe/MDEV-21329/10.4/sql/temporary_tables.cc:701
#18 0x000055cd30691b37 in THD::free_tmp_table_share (this=0x7f2d94000d50, share=0x7f2d942d8ad0, delete_table=true) at /home/mdbe/MDEV-21329/10.4/sql/temporary_tables.cc:1462
#19 0x000055cd3068fa6b in THD::drop_temporary_table (this=0x7f2d94000d50, table=0x7f2d943980f0, is_trans=0x0, delete_table=true) at /home/mdbe/MDEV-21329/10.4/sql/temporary_tables.cc:664
#20 0x000055cd304f919c in mysql_alter_table (thd=0x7f2d94000d50, new_db=0x7f2d94005518, new_name=0x7f2d94005920, create_info=0x7f2e00180320, table_list=0x7f2d940142e0, alter_info=0x7f2e00180260, order_num=0, order=0x0, ignore=false) at /home/mdbe/MDEV-21329/10.4/sql/sql_table.cc:10508
#21 0x000055cd30590202 in Sql_cmd_alter_table::execute (this=0x7f2d94014ad8, thd=0x7f2d94000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_alter.cc:514
#22 0x000055cd3040cbcb in mysql_execute_command (thd=0x7f2d94000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:6098
#23 0x000055cd304120ad in mysql_parse (thd=0x7f2d94000d50, rawbuf=0x7f2d94014198 "ALTER TABLE t1 CHANGE IF EXISTS b b INT, ALGORITHM=COPY /* QNO 46 CON_ID 12 */", length=78, parser_state=0x7f2e001815a0, is_com_multi=false, is_next_command=false) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:7896
#24 0x000055cd303fe5e7 in dispatch_command (command=COM_QUERY, thd=0x7f2d94000d50, packet=0x7f2d94008661 "ALTER TABLE t1 CHANGE IF EXISTS b b INT, ALGORITHM=COPY /* QNO 46 CON_ID 12 */ ", packet_length=79, is_com_multi=false, is_next_command=false) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:1834
#25 0x000055cd303fcd88 in do_command (thd=0x7f2d94000d50) at /home/mdbe/MDEV-21329/10.4/sql/sql_parse.cc:1352
#26 0x000055cd30586c24 in do_handle_one_connection (connect=0x55cd347d7c70) at /home/mdbe/MDEV-21329/10.4/sql/sql_connect.cc:1412
#27 0x000055cd30586973 in handle_one_connection (arg=0x55cd347d7c70) at /home/mdbe/MDEV-21329/10.4/sql/sql_connect.cc:1316
#28 0x00007f2e16f9c6db in start_thread (arg=0x7f2e00182700) at pthread_create.c:463
#29 0x00007f2e15a2aa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95