| Bug #89503 | innodb_purge_stop_now=1 causes purge_sys->n_stop == 0 on shutdown | ||
|---|---|---|---|
| Submitted: | 1 Feb 2018 23:46 | Modified: | 25 Feb 2018 21:20 |
| Reporter: | Roel Van de Paar | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S6 (Debug Builds) |
| Version: | 8.0.4rc, 5.7.21 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[2 Feb 2018 6:50]
MySQL Verification Team
Hello Roel, Thank you for the report and feedback. Observed that debug build is affected. Thanks, Umesh
[2 Feb 2018 6:56]
MySQL Verification Team
-- This is even observed with 5.7.21 debug build
(gdb) bt
#0 0x00007f658d515771 in pthread_kill () from /lib64/libpthread.so.0
#1 0x000000000185f6ad in my_write_core (sig=6) at /export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/mysys/stacktrace.c:249
#2 0x0000000000ea9966 in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/sql/signal_handler.cc:220
#3 <signal handler called>
#4 0x00007f658bf0f5d7 in raise () from /lib64/libc.so.6
#5 0x00007f658bf10cc8 in abort () from /lib64/libc.so.6
#6 0x0000000001addd64 in ut_dbg_assertion_failed (expr=0x2313b7b "purge_sys->n_stop == 0",
file=0x2312ef0 "/export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/storage/innobase/srv/srv0srv.cc", line=2709)
at /export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/storage/innobase/ut/ut0dbg.cc:67
#7 0x0000000001a74ce0 in srv_purge_coordinator_suspend (slot=0x4a03290, rseg_history_len=0)
at /export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/storage/innobase/srv/srv0srv.cc:2709
#8 0x0000000001a75047 in srv_purge_coordinator_thread (arg=0x0) at /export/home/pb2/build/sb_0-25673884-1510161542.84/mysqlcom-pro-5.7.21/storage/innobase/srv/srv0srv.cc:2792
#9 0x00007f658d510df5 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f658bfd060d in clone () from /lib64/libc.so.6
(gdb)
[25 Feb 2018 21:20]
Roel Van de Paar
Any updates?

Description: 2018-02-01T22:59:19.291583Z 0 [System] [MY-010931] /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld: ready for connections. Version: '8.0.4-rc-debug-log' socket: '/sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/socket.sock' port: 19806 MySQL Community Server (GPL). 2018-02-01T23:00:10.553546Z 0 [ERROR] [MY-000000] InnoDB: Assertion failure: srv0srv.cc:2832:purge_sys->n_stop == 0 InnoDB: thread 140358423934720 #0 0x00007fa7d079a9b1 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61 #1 0x00007fa7d468261c in my_write_core (sig=6) at /git/MS-8.0.4rc_dbg/mysys/stacktrace.cc:303 #2 0x00007fa7d380e230 in handle_fatal_signal (sig=6) at /git/MS-8.0.4rc_dbg/sql/signal_handler.cc:241 #3 <signal handler called> #4 0x00007fa7cf34f1f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #5 0x00007fa7cf3508e8 in __GI_abort () at abort.c:90 #6 0x00007fa7d4a16479 in ut_dbg_assertion_failed (expr=0x7fa7d59e3cbd "purge_sys->n_stop == 0", file=0x7fa7d59e2e20 "/git/MS-8.0.4rc_dbg/storage/innobase/srv/srv0srv.cc", line=2832) at /git/MS-8.0.4rc_dbg/storage/innobase/ut/ut0dbg.cc:83 #7 0x00007fa7d49a87e5 in srv_purge_coordinator_suspend (slot=0x7fa7bc493520, rseg_history_len=3) at /git/MS-8.0.4rc_dbg/storage/innobase/srv/srv0srv.cc:2832 #8 0x00007fa7d49a8b54 in srv_purge_coordinator_thread () at /git/MS-8.0.4rc_dbg/storage/innobase/srv/srv0srv.cc:2913 #9 0x00007fa7d489a26e in std::__invoke_impl<void, void (*&)()> (__f=@0x7fa7bdffec80: 0x7fa7d49a897b <srv_purge_coordinator_thread()>) at /usr/include/c++/7/bits/invoke.h:60 #10 0x00007fa7d4899cc8 in std::__invoke<void (*&)()> (__fn=@0x7fa7bdffec80: 0x7fa7d49a897b <srv_purge_coordinator_thread()>) at /usr/include/c++/7/bits/invoke.h:95 #11 0x00007fa7d4899804 in std::_Bind<void (*())()>::__call<void>(std::tuple<>&&, std::_Index_tuple<>) (this=0x7fa7bdffec80, __args=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1c39ae>) at /usr/include/c++/7/functional:467 #12 0x00007fa7d4898e27 in std::_Bind<void (*())()>::operator()<, void>() (this=0x7fa7bdffec80) at /usr/include/c++/7/functional:551 #13 0x00007fa7d4898343 in Runnable::operator()<void (*)()>(void (*&&)()) (this=0x7fa7c63fe590, f=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1c703a>) at /git/MS-8.0.4rc_dbg/storage/innobase/include/os0thread-create.h:109 #14 0x00007fa7d48973e0 in std::__invoke_impl<void, Runnable, void (*)()>(std::__invoke_other, Runnable&&, void (*&&)()) ( __f=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1c9394>, __args#0=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1c93b0>) at /usr/include/c++/7/bits/invoke.h:60 #15 0x00007fa7d489656f in std::__invoke<Runnable, void (*)()>(Runnable&&, void (*&&)()) ( __fn=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1cc5f1>, __args#0=<unknown type in /sda/MS270118-mysql-8.0.4-rc-linux-x86_64-debug/bin/mysqld, CU 0xc13920f, DIE 0xc1cc60d>) at /usr/include/c++/7/bits/invoke.h:95 #16 0x00007fa7d489a371 in std::thread::_Invoker<std::tuple<Runnable, void (*)()> >::_M_invoke<0ul, 1ul> (this=0x7fa7c63fe588) at /usr/include/c++/7/thread:234 #17 0x00007fa7d489a312 in std::thread::_Invoker<std::tuple<Runnable, void (*)()> >::operator() (this=0x7fa7c63fe588) at /usr/include/c++/7/thread:243 #18 0x00007fa7d489a2e2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<Runnable, void (*)()> > >::_M_run ( this=0x7fa7c63fe580) at /usr/include/c++/7/thread:186 #19 0x00007fa7cfcaea6f in std::execute_native_thread_routine (__p=0x7fa7c63fe580) at ../../../../../gcc-7.2.0/libstdc++-v3/src/c++11/thread.cc:83 #20 0x00007fa7d0795e25 in start_thread (arg=0x7fa7bdfff700) at pthread_create.c:308 #21 0x00007fa7cf41234d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 How to repeat: SET GLOBAL innodb_purge_stop_now=1; Then shutdown the server using mysqladmin shutdown (will hang) Wait a few minutes, CTRL+C, check error log