Uploaded image for project: 'Percona XtraBackup'
  1. Percona XtraBackup
  2. PXB-414

LP #1391216: Xtrabackup 2.2.5 fails with non-default innodb_log_block_size in 5.6.19

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      **Reported in Launchpad by Francisco Bordenave last update 02-12-2014 08:19:49

      Xtrabackup 2.2.5 fails in --apply-log stage throwing out this error:
      InnoDB: Doing recovery: scanned up to log sequence number 14157798531072 (12%)
      InnoDB: Doing recovery: scanned up to log sequence number 14157803773952 (12%)
      InnoDB: Starting an apply batch of log records to the database...
      InnoDB: Progress in percent: 2014-10-22 11:59:39 7fd3571a9720 InnoDB: Assertion failure in thread 140545676187424 in file fil0fil.cc line 5655
      InnoDB: Failing assertion: (len % OS_FILE_LOG_BLOCK_SIZE) == 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.
      16:59:39 UTC - xtrabackup got signal 6 ;
      This could be because you hit a bug or data is corrupted.
      This error can also be caused by malfunctioning hardware.
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed,
      something is definitely wrong and this may fail.

      Thread pointer: 0x1765eb0
      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 = 1766ec0 thread_stack 0x10000
      xtrabackup(my_print_stacktrace+0x35) [0x9f2a9c]
      xtrabackup(handle_fatal_signal+0x2bb) [0x7f5cd3]
      /lib64/libpthread.so.0(+0xf710) [0x7fd356d91710]
      /lib64/libc.so.6(gsignal+0x35) [0x7fd3553ad635]
      /lib64/libc.so.6(abort+0x175) [0x7fd3553aee15]
      xtrabackup(fil_io(unsigned long, bool, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, void*, void*)+0x6a8) [0x68a870]
      xtrabackup() [0x723237]
      xtrabackup(buf_read_recv_pages(unsigned long, unsigned long, unsigned long, unsigned long const*, unsigned long)+0x1ce) [0x7242bf]
      xtrabackup() [0x750697]
      xtrabackup(recv_apply_hashed_log_recs(unsigned long)+0x2b1) [0x750956]
      xtrabackup(recv_scan_log_recs(unsigned long, unsigned long, unsigned char const*, unsigned long, unsigned long, unsigned long*, unsigned long*)+0x68d) [0x752098]
      xtrabackup() [0x7521b5]
      xtrabackup(recv_recovery_from_checkpoint_start_func(unsigned long, unsigned long, unsigned long, unsigned long)+0x5fc) [0x7528cf]
      xtrabackup(innobase_start_or_create_for_mysql()+0x14c4) [0x728276]
      xtrabackup() [0x606fae]
      xtrabackup() [0x60f6ba]
      xtrabackup(main+0xc33) [0x610e5f]
      /lib64/libc.so.6(__libc_start_main+0xfd) [0x7fd355399d5d]
      xtrabackup() [0x603fb9]

      Please report a bug at https://bugs.launchpad.net/percona-xtrabackup
      innobackupex: Error:
      innobackupex: ibbackup failed at /usr/bin/innobackupex line 2619.

      backup-my.cnf file contents:
      [mysqld]
      innodb_checksum_algorithm=innodb
      innodb_log_checksum_algorithm=innodb
      innodb_data_file_path=ibdata1:10M:autoextend
      innodb_log_files_in_group=2
      innodb_log_file_size=1073741824
      innodb_fast_checksum=0
      innodb_page_size=16384
      innodb_log_block_size=4096
      innodb_undo_tablespaces=0

      For what we can see in code in XB 2.2.5 it looks like there is an assertion in the file:
      percona-xtrabackup-2.2.5 pancho$ grep -rn OS_FILE_LOG_BLOCK_SIZE * | grep fil0
      storage/innobase/fil/fil0fil.cc:5654: ut_a(byte_offset % OS_FILE_LOG_BLOCK_SIZE == 0);
      storage/innobase/fil/fil0fil.cc:5655: ut_a((len % OS_FILE_LOG_BLOCK_SIZE) == 0);

      That is not present in 5.6.19 and recent Percona Server.

      This bug looks like a regression from https://bugs.launchpad.net/percona-server/+bug/1116761 introduced in xtrabackup.

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            lpjirasync lpjirasync (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Smart Checklist