InnoDB redo log resizing may crash if log tracking is enabled: Failing assertion: node->n_pending == 0 in fil0fil.cc line 899

Bug #1204072 reported by Alexey Kopytov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Medium
Laurynas Biveinis
5.1
Invalid
Undecided
Unassigned
5.5
Invalid
Undecided
Unassigned
5.6
Fix Released
Medium
Laurynas Biveinis

Bug Description

With --innodb-track-changed-pages=TRUE the server sometimes fails on startup with the following assertion when it has to resize the log files:

2013-07-22 11:45:38 21027 [Note] InnoDB: starting tracking changed pages from LSN 1625987

2013-07-22 11:45:38 21027 [Warning] InnoDB: Resizing redo log from 2*3072 to 2*64 pages, LSN=1625987
2013-07-22 11:45:38 21027 [Warning] InnoDB: Starting to delete and rewrite log files.
2013-07-22 11:45:38 21027 [Note] InnoDB: Setting log file ./ib_logfile101 size to 1 MB
2013-07-22 11:45:38 21027 [Note] InnoDB: Setting log file ./ib_logfile1 size to 1 MB
2013-07-22 11:45:38 7f09b82817e0 InnoDB: Assertion failure in thread 139679721068512 in file fil0fil.cc line 899
InnoDB: Failing assertion: node->n_pending == 0
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.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
11:45:38 UTC - mysqld got signal 6 ;

It occurs quite frequently in XB Jenkins after updating PS version used by the test suite from PS 5.6.10 to PS 5.6.11 (i.e. the one where page tracking is available: http://jenkins.percona.com/view/XtraBackup/job/percona-xtrabackup-2.1-param/386/BUILD_TYPE=debug,Host=centos6-64,xtrabackuptarget=xtradb56/testReport/junit/%28root%29/t_xb_incremental_compressed_bitmap_16kb/sh/

It doesn't seem to occur with page tracking disabled, i.e. all xb_incremental_compressed_full_scan* tests pass.

I'm going to implement a workaround in XB tests for now so that the server doesn't have to resize the log files on startup, so this is not high priority.

Tags: bitmap xtradb

Related branches

tags: added: bitmap
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Indeed, log tracking initialization happens before the log file resizing.

tags: added: 56qual
Revision history for this message
Roel Van de Paar (roel11) wrote :

<laurynas> combination of log resizing and changed page tracking, easy workaround
<laurynas> targetting next release
<Roel> ok I'll update that

tags: removed: 56qual
summary: - InnoDB: Failing assertion: node->n_pending == 0 in fil0fil.cc line 899
+ InnoDB redo log resizing may crash if log tracking is enabled: Failing
+ assertion: node->n_pending == 0 in fil0fil.cc line 899
tags: added: xtradb
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1399

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.