Bug #108312 mysql server have crashes in a while time
Submitted: 29 Aug 2022 4:16 Modified: 29 Aug 2022 11:56
Reporter: gzhen zhang Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:8.0.30 OS:Linux (Red Hat Enterprise Linux Server release 7.4)
Assigned to: CPU Architecture:x86

[29 Aug 2022 4:16] gzhen zhang
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
[29 Aug 2022 4:20] gzhen zhang
add CPU  type
[29 Aug 2022 11:56] MySQL Verification Team
Hi Mr. zhang,

Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments to the original bug instead.

Thank you for your interest in MySQL.