Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.8(EOL), 10.10(EOL)
Description
Fairly sporadic (about 1 in 30). Harder to reproduce/loop as it seems to require a shutdown.
The DROP/CREATE/USE is not strictly necessary (I have seen the issue reproduced without them), but they are here to enable the following test setup:
start server > run the testcase a number of times > shutdown. Issue produces at the CLI as well as with pquery, so likely it can be coded into MTR relatively easily.
# mysqld likely options required for replay: --innodb-buffer-pool-size=300M |
DROP DATABASE test; |
CREATE DATABASE test; |
USE test; |
SET sql_mode=''; |
ALTER TABLE t1 RENAME TO t2; |
CREATE TABLE t1 (a INT) ENGINE=InnoDB PARTITION BY HASH (a) PARTITIONS 1024; |
INSERT INTO t1 VALUES (1),(3),(5),(7); |
CREATE TABLE q (b TEXT CHARSET latin1, FULLTEXT (b)) ENGINE=InnoDB; |
Leads to:
10.10.0 e1caa4bd5e8b4645944b85d4b603bf9fc9ef6ca4 |
mysqld: /test/10.10_dbg/storage/innobase/dict/dict0dict.cc:1250: bool dict_table_can_be_evicted(dict_table_t*): Assertion `!table->fts' failed.
|
10.10.0 e1caa4bd5e8b4645944b85d4b603bf9fc9ef6ca4 |
Core was generated by `/test/aaa/bin/mysqld --no-defaults --core-file --basedir=/test/aaa --tmpdir=/te'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
[Current thread is 1 (Thread 0x14b93c3fa700 (LWP 2162677))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x000014b9751d8859 in __GI_abort () at abort.c:79
|
#2 0x000014b9751d8729 in __assert_fail_base (fmt=0x14b97536e588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556f38c3d62e "!table->fts", file=0x556f38c3db20 "/test/10.10_dbg/storage/innobase/dict/dict0dict.cc", line=1250, function=<optimized out>) at assert.c:92
|
#3 0x000014b9751e9fd6 in __GI___assert_fail (assertion=assertion@entry=0x556f38c3d62e "!table->fts", file=file@entry=0x556f38c3db20 "/test/10.10_dbg/storage/innobase/dict/dict0dict.cc", line=line@entry=1250, function=function@entry=0x556f38c3dc30 "bool dict_table_can_be_evicted(dict_table_t*)") at assert.c:101
|
#4 0x0000556f386c749d in dict_table_can_be_evicted (table=table@entry=0x14b8bc6d7010) at /test/10.10_dbg/storage/innobase/dict/dict0dict.cc:1250
|
#5 0x0000556f386d2f50 in dict_sys_t::evict_table_LRU (this=0x556f3922a9c0 <dict_sys>, half=half@entry=false) at /test/10.10_dbg/storage/innobase/dict/dict0dict.cc:1357
|
#6 0x0000556f385bc2be in srv_master_do_idle_tasks (counter_time=4516005226423) at /test/10.10_dbg/storage/innobase/srv/srv0srv.cc:1402
|
#7 srv_master_callback () at /test/10.10_dbg/storage/innobase/srv/srv0srv.cc:1459
|
#8 0x0000556f3879a0be in tpool::thread_pool_generic::timer_generic::run (this=0x556f39d5ea20) at /test/10.10_dbg/tpool/tpool_generic.cc:343
|
#9 tpool::thread_pool_generic::timer_generic::execute (arg=0x556f39d5ea20) at /test/10.10_dbg/tpool/tpool_generic.cc:363
|
#10 0x0000556f3879af57 in tpool::task::execute (this=0x556f39d5ea60) at /test/10.10_dbg/tpool/task.cc:37
|
#11 0x0000556f38799bdd in tpool::thread_pool_generic::worker_main (this=0x556f39cab5e0, thread_var=0x556f39cba780) at /test/10.10_dbg/tpool/tpool_generic.cc:580
|
#12 0x0000556f38799f14 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__t=<optimized out>, __f=<optimized out>) at /usr/include/c++/9/bits/invoke.h:89
|
#13 std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=<optimized out>) at /usr/include/c++/9/bits/invoke.h:95
|
#14 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=<optimized out>) at /usr/include/c++/9/thread:244
|
#15 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=<optimized out>) at /usr/include/c++/9/thread:251
|
#16 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=<optimized out>) at /usr/include/c++/9/thread:195
|
#17 0x000014b9755cfde4 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
|
#18 0x000014b9756e9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#19 0x000014b9752d5133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.8.4 3fbcd68d77827929b1eb4726b469ff5998142146 (Debug) |
mysqld: /test/10.8_dbg/storage/innobase/dict/dict0dict.cc:1250: bool dict_table_can_be_evicted(dict_table_t*): Assertion `!table->fts' failed.
|
10.8.4 3fbcd68d77827929b1eb4726b469ff5998142146 (Debug) |
Core was generated by `/test/MD120722-mariadb-10.8.4-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
[Current thread is 1 (Thread 0x14c7785fb700 (LWP 279126))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x000014c7a73ea859 in __GI_abort () at abort.c:79
|
#2 0x000014c7a73ea729 in __assert_fail_base (fmt=0x14c7a7580588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55808968818e "!table->fts", file=0x558089688680 "/test/10.8_dbg/storage/innobase/dict/dict0dict.cc", line=1250, function=<optimized out>) at assert.c:92
|
#3 0x000014c7a73fbfd6 in __GI___assert_fail (assertion=assertion@entry=0x55808968818e "!table->fts", file=file@entry=0x558089688680 "/test/10.8_dbg/storage/innobase/dict/dict0dict.cc", line=line@entry=1250, function=function@entry=0x558089688790 "bool dict_table_can_be_evicted(dict_table_t*)") at assert.c:101
|
#4 0x000055808911feb5 in dict_table_can_be_evicted (table=table@entry=0x14c6bc8588f0) at /test/10.8_dbg/storage/innobase/dict/dict0dict.cc:1250
|
#5 0x000055808912b938 in dict_sys_t::evict_table_LRU (this=0x558089c6cc80 <dict_sys>, half=half@entry=false) at /test/10.8_dbg/storage/innobase/dict/dict0dict.cc:1357
|
#6 0x00005580890157e8 in srv_master_do_idle_tasks (counter_time=4517039386066) at /test/10.8_dbg/storage/innobase/srv/srv0srv.cc:1515
|
#7 srv_master_callback () at /test/10.8_dbg/storage/innobase/srv/srv0srv.cc:1572
|
#8 0x00005580891f28b0 in tpool::thread_pool_generic::timer_generic::run (this=0x55808c57a6a0) at /test/10.8_dbg/tpool/tpool_generic.cc:343
|
#9 tpool::thread_pool_generic::timer_generic::execute (arg=0x55808c57a6a0) at /test/10.8_dbg/tpool/tpool_generic.cc:363
|
#10 0x00005580891f3749 in tpool::task::execute (this=0x55808c57a6e0) at /test/10.8_dbg/tpool/task.cc:37
|
#11 0x00005580891f23cf in tpool::thread_pool_generic::worker_main (this=0x55808c4c7250, thread_var=0x55808c4d6c70) at /test/10.8_dbg/tpool/tpool_generic.cc:580
|
#12 0x00005580891f2706 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__t=<optimized out>, __f=<optimized out>) at /usr/include/c++/9/bits/invoke.h:89
|
#13 std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=<optimized out>) at /usr/include/c++/9/bits/invoke.h:95
|
#14 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=<optimized out>) at /usr/include/c++/9/thread:244
|
#15 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=<optimized out>) at /usr/include/c++/9/thread:251
|
#16 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=<optimized out>) at /usr/include/c++/9/thread:195
|
#17 0x000014c7a77e1de4 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
|
#18 0x000014c7a78fb609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#19 0x000014c7a74e7133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
It is unclear which versions this exists on. I have been able to reproduce the issue on 10.8 (dbg) and 10.10 (dbg) so far.
Attachments
Issue Links
- relates to
-
MDEV-22778 Slow InnoDB shutdown on large instance
- Closed