MySQL Bug一例-----ibuf cursor restoration fails

    技术2022-07-15  42

    产生原因: 1、开启change buffer(innodb_change_buffering) 2、对表进行大量delete 操作 3、对相同表进行truncate

    bug名称:ibuf cursor restoration fails(change buffer 游标存储失败) 改进:升级版本至 5.7.31 或者 8.0.21

    2020-07-02T12:01:54.342463+08:00 0 [ERROR] InnoDB: ibuf cursor restoration fails!. ibuf record inserted to page 49868:25715 2020-07-02T12:01:54.342522+08:00 0 [ERROR] InnoDB: Submit a detailed bug report to http://bugs.mysql.com PHYSICAL RECORD: n_fields 7; 1-byte offsets; info bits 0 0: len 4; hex 00002722; asc '";; 1: len 1; hex 00; asc ;; 2: len 4; hex 00000b3a; asc :;; 3: len 22; hex 001400010c0f00c8002d0c0f0100802d860800088000; asc - - ;; 4: len 30; hex e6b599e6b19fe6b0b8e5a4aae7a791e68a80e882a1e4bbbde69c89e99990; asc ; (total 36 bytes); 5: len 30; hex 5041524b3436335f454d5330315f41434f50535f44454641554c545f4c6f; asc PARK463_EMS01_ACOPS_DEFAULT_Lo; (total 33 bytes); 6: len 8; hex 800000000002ab31; asc 1;; PHYSICAL RECORD: n_fields 7; 1-byte offsets; info bits 0 0: len 4; hex 00002722; asc '";; 1: len 1; hex 00; asc ;; 2: len 4; hex 00000b3a; asc :;; 3: len 22; hex 001400010c0f00c8002d0c0f0100802d860800088000; asc - - ;; 4: len 30; hex e6b599e6b19fe6b0b8e5a4aae7a791e68a80e882a1e4bbbde69c89e99990; asc ; (total 36 bytes); 5: len 30; hex 5041524b3436335f454d5330315f41434f50535f44454641554c545f4c6f; asc PARK463_EMS01_ACOPS_DEFAULT_Lo; (total 33 bytes); 6: len 8; hex 800000000002ab31; asc 1;; DATA TUPLE: 3 fields; 0: len 4; hex 0000c2cc; asc ;; 1: len 1; hex 00; asc ;; 2: len 4; hex 00006473; asc ds;; PHYSICAL RECORD: n_fields 9; 1-byte offsets; info bits 32 0: len 4; hex 0000c2cc; asc ;; 1: len 1; hex 00; asc ;; 2: len 4; hex 00006473; asc ds;; 3: len 30; hex 009701010c0f0100802d0c0f0200002d0c0f0100802d830c000580080800; asc - - - ; (total 34 bytes); 4: len 13; hex 5041524b3534375f4350533031; asc PARK547_CPS01;; 5: len 9; hex 4543525f4543523030; asc ECR_ECR00;; 6: len 8; hex 4454636f6e644131; asc DTcondA1;; 7: len 5; hex 99a6c2fb40; asc @;; 8: len 6; hex 0000504d6be5; asc PMk ;; 2020-07-02T12:01:54.343977+08:00 0 [ERROR] [FATAL] InnoDB: Failed to restore ibuf position. 2020-07-02 12:01:54 0x7fe71903a700 InnoDB: Assertion failure in thread 140630533842688 in file ut0ut.cc line 910 2020-07-02 12:01:54 0x7fe71903a700 InnoDB: Assertion failure in thread 140630533842688 in file ut0ut.cc line 910 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/5.7/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 04:01:54 UTC - mysqld got signal 6 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. Attempting to collect some information that could help diagnose the problem. As this is a crash and something is definitely wrong, the information collection process might fail. key_buffer_size=8388608 read_buffer_size=524288 max_used_connections=85 max_threads=800 thread_count=39 connection_count=38 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1247698 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x0 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 = 0 thread_stack 0x40000 /usr/local/mysql/bin/mysqld(my_print_stacktrace+0x35)[0xf54815] /usr/local/mysql/bin/mysqld(handle_fatal_signal+0x4a4)[0x7d21b4] /lib64/libpthread.so.0(+0xf100)[0x7fe9436bd100] /lib64/libc.so.6(gsignal+0x37)[0x7fe9420b15f7] /lib64/libc.so.6(abort+0x148)[0x7fe9420b2ce8] /usr/local/mysql/bin/mysqld(_Z18ut_print_timestampP8_IO_FILE+0x0)[0x7c157e] /usr/local/mysql/bin/mysqld(_ZN2ib5fatalD1Ev+0xb3)[0x115c0a3] /usr/local/mysql/bin/mysqld[0x102f9f1] /usr/local/mysql/bin/mysqld[0x1034069] /usr/local/mysql/bin/mysqld(_Z29ibuf_merge_or_delete_for_pageP11buf_block_tRK9page_id_tPK11page_size_tm+0xa6b)[0x1039c1b] /usr/local/mysql/bin/mysqld(_Z20buf_page_io_completeP10buf_page_tb+0x4c9)[0x1197839] /usr/local/mysql/bin/mysqld(_Z12fil_aio_waitm+0xfe)[0x120962e] /usr/local/mysql/bin/mysqld(io_handler_thread+0xd0)[0x110ebd0] /lib64/libpthread.so.0(+0x7dc5)[0x7fe9436b5dc5] /lib64/libc.so.6(clone+0x6d)[0x7fe94217221d] 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.
    Processed: 0.011, SQL: 12