4

I have InnoDB assertion failure during the trx rollback

160316 10:47:31  InnoDB: Rolling back trx with id 5ADBE4173, 1 rows to undo
160316 10:47:31  InnoDB: Assertion failure in thread 140611160659712 in file fut0lst.ic line 83
InnoDB: Failing assertion: addr.page == FIL_NULL || addr.bof

I've managed to start MySQL with innodb_force_recovery = 3 (SRV_FORCE_NO_TRX_UNDO). Now I can see this transaction in INFORMATION_SCHEMA:

mysql> select * from information_schema.innodb_trx\G
*************************** 1. row ***************************
                    trx_id: 5ADBE4173
                 trx_state: RUNNING
               trx_started: 2016-03-16 11:16:08
     trx_requested_lock_id: NULL
          trx_wait_started: NULL
                trx_weight: 1
       trx_mysql_thread_id: 0
                 trx_query: NULL
       trx_operation_state: NULL
         trx_tables_in_use: 0
         trx_tables_locked: 0
          trx_lock_structs: 0
     trx_lock_memory_bytes: 376
           trx_rows_locked: 0
         trx_rows_modified: 1
   trx_concurrency_tickets: 0
       trx_isolation_level: REPEATABLE READ
         trx_unique_checks: 1
    trx_foreign_key_checks: 1
trx_last_foreign_key_error: NULL
 trx_adaptive_hash_latched: 0
 trx_adaptive_hash_timeout: 10000
1 row in set (0.00 sec)

mysql>

It also appears in SHOW ENGINE InnoDB STATUS:

TRANSACTIONS
------------
Trx id counter 5ADBE4303
Purge done for trx's n:o < 0 undo n:o < 0
History list length 1897
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0, not started
MySQL thread id 56285, OS thread handle 0x7f31cdca4700, query id 174313 localhost root
show engine innodb status
---TRANSACTION 5ADBE4173, ACTIVE 590 sec recovered trx
, undo log entries 1
----------------------------
END OF INNODB MONITOR OUTPUT
============================

MySQL documentation states that "You cannot cancel transactions that are in the process of being rolled back." So is there any way to know which tables it uses? And if it is, can I just drop the offensive tables and restart server back with innodb_force_shutdown = 0?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.