Description:
After I upgraded my MySQL version from 8.0.28 to 8.0.30, my mysql-server often crashes in a white time
proceed as follows
In-Place Upgrade
first
set innodb_fast_shutdown
SET GLOBAL innodb_fast_shutdown = 0;
second
Shut down the old MySQL server
/u01/app/mysql-8.0.28/bin/mysqladmin --socket=/u01/app/mysql-8.0.28/3310.sock --port=3310 -uroot -p shutdown
thrid
Upgrade the MySQL binaries
/u01/app/mysql-8.0.30/bin/mysqld_safe --defaults-file=/u01/app/mysql-8.0.30/3310.cnf --datadir=/u01/db/3310 --user=mysql &
and the error log is :
2022-08-29T10:42:02.590000+08:00 752 [ERROR] [MY-013183] [InnoDB] Assertion failure: btr0cur.cc:4024:page_zip || optim_err != DB_UNDERFLOW thread 139906671134464
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
02:42:02 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7f3e34200ee0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f3e8f6f3d40 thread_stack 0x100000
/u01/app/mysql-8.0.30/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1fbe99e]
/u01/app/mysql-8.0.30/bin/mysqld(print_fatal_signal(int)+0x2eb) [0x106677b]
/u01/app/mysql-8.0.30/bin/mysqld(my_server_abort()+0x5e) [0x106687e]
/u01/app/mysql-8.0.30/bin/mysqld(my_abort()+0xa) [0x1fb8d3a]
/u01/app/mysql-8.0.30/bin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x30c) [0x229515c]
/u01/app/mysql-8.0.30/bin/mysqld(btr_cur_pessimistic_update(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, mem_block_info_t*, big_rec_t**, upd_t*, unsigned long, que_thr_t*, unsigned long, unsigned long, mtr_t*, btr_pcur_t*)+0x779) [0x22d94b9]
/u01/app/mysql-8.0.30/bin/mysqld() [0x247c1e7]
/u01/app/mysql-8.0.30/bin/mysqld() [0x247c7b9]
/u01/app/mysql-8.0.30/bin/mysqld(row_undo_mod(undo_node_t*, que_thr_t*)+0xca7) [0x247fef7]
/u01/app/mysql-8.0.30/bin/mysqld(row_undo_step(que_thr_t*)+0x52) [0x2211ca2]
/u01/app/mysql-8.0.30/bin/mysqld(que_run_threads(que_thr_t*)+0xb48) [0x21b6448]
/u01/app/mysql-8.0.30/bin/mysqld() [0x226a967]
/u01/app/mysql-8.0.30/bin/mysqld() [0x226d9d4]
/u01/app/mysql-8.0.30/bin/mysqld(trx_rollback_for_mysql(trx_t*)+0x260) [0x226df70]
/u01/app/mysql-8.0.30/bin/mysqld() [0x20a754a]
/u01/app/mysql-8.0.30/bin/mysqld(ha_rollback_low(THD*, bool)+0x12e) [0x116853e]
/u01/app/mysql-8.0.30/bin/mysqld(trx_coordinator::rollback_in_engines(THD*, bool)+0x25) [0x101a6d5]
/u01/app/mysql-8.0.30/bin/mysqld(MYSQL_BIN_LOG::rollback(THD*, bool)+0xcf) [0x1bf7b5f]
/u01/app/mysql-8.0.30/bin/mysqld(ha_rollback_trans(THD*, bool)+0x7a) [0x116870a]
/u01/app/mysql-8.0.30/bin/mysqld(trans_rollback(THD*)+0x4e) [0x101c91e]
/u01/app/mysql-8.0.30/bin/mysqld(mysql_execute_command(THD*, bool)+0x369b) [0xf01cbb]
/u01/app/mysql-8.0.30/bin/mysqld(dispatch_sql_command(THD*, Parser_state*)+0x403) [0xf04163]
/u01/app/mysql-8.0.30/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x2080) [0xf066f0]
/u01/app/mysql-8.0.30/bin/mysqld(do_command(THD*)+0x1df) [0xf076af]
/u01/app/mysql-8.0.30/bin/mysqld() [0x10574b8]
/u01/app/mysql-8.0.30/bin/mysqld() [0x2526cda]
/lib64/libpthread.so.0(+0x7e65) [0x7f4167638e65]
/lib64/libc.so.6(clone+0x6d) [0x7f416594188d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f3e34b051a0): is an invalid pointer
Connection ID (thread ID): 752
Status: NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2022-08-29T10:42:03.760235+08:00 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2022-08-29T10:42:03.760291+08:00 0 [Warning] [MY-011068] [Server] The syntax 'slave_skip_errors' is deprecated and will be removed in a future release. Please use replica_skip_errors instead.
2022-08-29T10:42:03.760512+08:00 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2022-08-29T10:42:03.760620+08:00 0 [System] [MY-010116] [Server] /u01/app/mysql-8.0.30/bin/mysqld (mysqld 8.0.30) starting as process 31957
2022-08-29T10:42:03.913744+08:00 0 [Warning] [MY-013907] [InnoDB] Deprecated configuration parameters innodb_log_file_size and/or innodb_log_files_in_group have been used to compute innodb_redo_log_capacity=2147483648. Please use innodb_redo_log_capacity instead.
2022-08-29T10:42:03.932165+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-29T10:42:21.135458+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-29T10:42:44.180735+08:00 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: btr0cur.cc:4024:page_zip || optim_err != DB_UNDERFLOW thread 140596999984896
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
02:42:44 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7fdf200137d0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7fdf4a3d8cb8 thread_stack 0x100000
/u01/app/mysql-8.0.30/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1fbe99e]
/u01/app/mysql-8.0.30/bin/mysqld(print_fatal_signal(int)+0x2eb) [0x106677b]
/u01/app/mysql-8.0.30/bin/mysqld(my_server_abort()+0x5e) [0x106687e]
/u01/app/mysql-8.0.30/bin/mysqld(my_abort()+0xa) [0x1fb8d3a]
/u01/app/mysql-8.0.30/bin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x30c) [0x229515c]
/u01/app/mysql-8.0.30/bin/mysqld(btr_cur_pessimistic_update(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, mem_block_info_t*, big_rec_t**, upd_t*, unsigned long, que_thr_t*, unsigned long, unsigned long, mtr_t*, btr_pcur_t*)+0x779) [0x22d94b9]
/u01/app/mysql-8.0.30/bin/mysqld() [0x247c1e7]
/u01/app/mysql-8.0.30/bin/mysqld() [0x247c7b9]
/u01/app/mysql-8.0.30/bin/mysqld(row_undo_mod(undo_node_t*, que_thr_t*)+0xca7) [0x247fef7]
/u01/app/mysql-8.0.30/bin/mysqld(row_undo_step(que_thr_t*)+0x52) [0x2211ca2]
/u01/app/mysql-8.0.30/bin/mysqld(que_run_threads(que_thr_t*)+0xb48) [0x21b6448]
/u01/app/mysql-8.0.30/bin/mysqld(trx_rollback_or_clean_recovered(bool)+0x11ee) [0x226c1fe]
/u01/app/mysql-8.0.30/bin/mysqld(trx_recovery_rollback_thread()+0x1b) [0x226d25b]
/u01/app/mysql-8.0.30/bin/mysqld(std::thread::_State_impl<std::thread::_Invoker<std::tuple<Detached_thread, void (*)()> > >::_M_run()+0xc4) [0x2157a14]
/u01/app/mysql-8.0.30/bin/mysqld() [0x27e42df]
/lib64/libpthread.so.0(+0x7e65) [0x7fe1d81a2e65]
/lib64/libc.so.6(clone+0x6d) [0x7fe1d64ab88d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): is an invalid pointer
Connection ID (thread ID): 0
Status: NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
How to repeat:
How can I solve this problem