当前位置: 代码迷 >> 综合 >> [ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:555
  详细解决方案

[ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:555

热度:84   发布时间:2023-12-19 16:12:07.0

mysql 8025 故障日志:


2022-02-23T13:59:27.477020Z 0 [Warning] [MY-010909] [Server] /root/opt/mysql/8.0.25/bin/mysqld: Forcing close of thread 8  user: 'root'.
2022-02-23T13:59:27.926166Z 0 [System] [MY-010910] [Server] /root/opt/mysql/8.0.25/bin/mysqld: Shutdown complete (mysqld 8.0.25)  MySQL Community Server - GPL.
2022-02-23T13:59:30.507485Z 0 [System] [MY-010116] [Server] /root/opt/mysql/8.0.25/bin/mysqld (mysqld 8.0.25) starting as process 1615
2022-02-23T13:59:30.528471Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-02-23T13:59:30.860832Z 0 [ERROR] [MY-012684] [InnoDB] [FATAL] is_short 0, info_and_status_bits 0, offset 367, o_offset 7, mismatch index 18446744073709551578, end_seg_len 68 parsed len 4
2022-02-23T13:59:30.861386Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:555 thread 140041256920832
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.
13:59:30 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
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 0x46000
/root/opt/mysql/8.0.25/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1e7746e]
/root/opt/mysql/8.0.25/bin/mysqld(handle_fatal_signal+0x303) [0xec1fa3]
/lib64/libpthread.so.0(+0xf5d0) [0x7f5dfa8315d0]
/lib64/libc.so.6(gsignal+0x37) [0x7f5df8ab9207]
/lib64/libc.so.6(abort+0x148) [0x7f5df8aba8f8]
/root/opt/mysql/8.0.25/bin/mysqld() [0xc15bce]
/root/opt/mysql/8.0.25/bin/mysqld() [0x2121a4c]
/root/opt/mysql/8.0.25/bin/mysqld(page_cur_parse_insert_rec(unsigned long, unsigned char const*, unsigned char const*, buf_block_t*, dict_index_t*, mtr_t*)+0xb20) [0x2034570]
/root/opt/mysql/8.0.25/bin/mysqld() [0x2006d4f]
/root/opt/mysql/8.0.25/bin/mysqld(recv_recover_page_func(bool, buf_block_t*)+0x607) [0x2009a67]
/root/opt/mysql/8.0.25/bin/mysqld(buf_page_io_complete(buf_page_t*, bool)+0x3c4) [0x2183274]
/root/opt/mysql/8.0.25/bin/mysqld(fil_aio_wait(unsigned long)+0x133) [0x223be93]
/root/opt/mysql/8.0.25/bin/mysqld() [0x20c8360]
/root/opt/mysql/8.0.25/bin/mysqld(std::thread::_State_impl<std::thread::_Invoker<std::tuple<Runnable, void (*)(unsigned long), unsigned long> > >::_M_run()+0xa2) [0x20c91e2]
/root/opt/mysql/8.0.25/bin/mysqld() [0x25bd3a0]
/lib64/libpthread.so.0(+0x7dd5) [0x7f5dfa829dd5]
/lib64/libc.so.6(clone+0x6d) [0x7f5df8b80ead]
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.

##函数解析:

page_cur_parse_insert_rec()

byte* page_cur_parse_insert_rec ( ibool  is_short,
const byte *  ptr,
const byte *  end_ptr,
buf_block_t *  block,
dict_index_t *  index,
mtr_t *  mtr 
)

Parses a log record of a record insert on a page.

Returns

end of log record or NULL in: mtr or NULL

end of log record or NULL

Parameters

is_short in: TRUE if short inserts
ptr in: buffer
end_ptr in: buffer end
block in: page or NULL
index in: record descriptor
mtr in: mtr or NULL

recv_recover_page_func()

void recv_recover_page_func ( bool  just_read_in,
buf_block_t *  block 
)

Applies the hashed log records to the page, if the page lsn is less than the lsn of a log record.

This can be called when a buffer page has just been read in, or also for a page already in the buffer pool.

Parameters

[in] just_read_in true if the IO handler calls this for a freshly read page
[in,out] block buffer block

◆ buf_page_io_complete()

bool buf_page_io_complete ( buf_page_t *  bpage,
bool  evict 
)

Completes an asynchronous read or write request of a file page to or from the buffer pool.

Parameters

[in] bpage pointer to the block in question
[in] evict whether or not to evict the page from LRU list

Returns

true if successful

根据mysql 的崩溃堆栈函数信息,可以推测mysql 是在事务一致性恢复时崩溃;

处理方式:
#innodb_force_recovery=6

强制启动mysql ,逻辑导出导入;

  相关解决方案