0

InnoDB crashes when importing ibd file from remote machine. Source version is MySQL-5.6.40, Destination version is MySQL-5.6.40.

  • Database was backed up was backed Percona Xtrabackup with xbstream compression.
  • Created Databases and Tables in the destination and table space for all the tables were dropped.
  • MySQL crashes when importing tablespace with backed up idb files.

Please help me understand the issue and fix it if possible. Should i report this as bug?

mysqld.log

InnoDB: Error: trying to access page number 1848913844 in space 177,
InnoDB: space name coredb_e2e/account,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
2019-02-21 15:32:03 7f1c7a869700  InnoDB: Assertion failure in thread 139760291452672 in file fil0fil.cc line 5666
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.
10:02:03 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.
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.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=1
max_threads=151
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68108 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x21d7a80
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 = 7f1c7a868e90 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x3b)[0x8eecbb]
/usr/sbin/mysqld(handle_fatal_signal+0x491)[0x67a601]
/lib64/libpthread.so.0(+0xf5e0)[0x7f1c8eef85e0]
/lib64/libc.so.6(gsignal+0x37)[0x7f1c8daf21f7]
/lib64/libc.so.6(abort+0x148)[0x7f1c8daf38e8]
/usr/sbin/mysqld[0xa8fa15]
/usr/sbin/mysqld[0xa573db]
/usr/sbin/mysqld[0xa3d410]
/usr/sbin/mysqld[0xa29ac6]
/usr/sbin/mysqld[0xa7a7e7]
/usr/sbin/mysqld[0xa7c820]
/usr/sbin/mysqld[0xa8235c]
/usr/sbin/mysqld[0x92c3dd]
/usr/sbin/mysqld(_ZN7handler7ha_openEP5TABLEPKcii+0x33)[0x5bca53]
/usr/sbin/mysqld(_Z21open_table_from_shareP3THDP11TABLE_SHAREPKcjjjP5TABLEb+0x69c)[0x77858c]
/usr/sbin/mysqld(_Z10open_tableP3THDP10TABLE_LISTP18Open_table_context+0xdb7)[0x6aeae7]
/usr/sbin/mysqld(_Z11open_tablesP3THDPP10TABLE_LISTPjjP19Prelocking_strategy+0x6c5)[0x6b6555]
/usr/sbin/mysqld(_Z20open_and_lock_tablesP3THDP10TABLE_LISTbjP19Prelocking_strategy+0x43)[0x6b6d03]
/usr/sbin/mysqld(_Z34mysql_discard_or_import_tablespaceP3THDP10TABLE_LISTb+0x94)[0x7466e4]
/usr/sbin/mysqld(_ZN33Sql_cmd_discard_import_tablespace7executeEP3THD+0xf3)[0x828743]
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x34d3)[0x6f9ce3]
/usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x378)[0x6fd138]
/usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0xf65)[0x6fe8b5]
/usr/sbin/mysqld(_Z24do_handle_one_connectionP3THD+0x152)[0x6cb7b2]
/usr/sbin/mysqld(handle_one_connection+0x40)[0x6cb870]
/usr/sbin/mysqld(pfs_spawn_thread+0x146)[0xb46a56]
/lib64/libpthread.so.0(+0x7e25)[0x7f1c8eef0e25]
/lib64/libc.so.6(clone+0x6d)[0x7f1c8dbb534d]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f1c4c004f50): alter table  account import tablespace
Connection ID (thread ID): 1
Status: NOT_KILLED

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.

Addition Information:

  • xtrabackup version - yet to update

  • Output of SHOW CREATE TABLE account\G

    CREATE TABLE `account` (
      `ACCOUNT_ID` int(11) NOT NULL AUTO_INCREMENT,
      `MOBILE_ID` char(108) NOT NULL,
      `STATUS` varchar(96) NOT NULL,
      `COUNTRY_CODE` varchar(9) NOT NULL,
      `PHONE_NUMBER` varchar(765) NOT NULL,
      `LEVEL` varchar(96) NOT NULL,
      `PRIVACY_POLICY_APPROVED` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `TC_APPROVED` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `INSERTED` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `MODIFIED` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `INTERNAL_STATUS` int(11) DEFAULT NULL,
      `PREVENT_NRN_USAGE` tinyint(1) DEFAULT NULL,
      `SMART_UPGRADE_CODE_VALUE` varchar(30) DEFAULT NULL,
      `SMART_UPGRADE_CODE_GENERATED_AT` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `SMART_UPGRADE_CODE_VALIDATED_AT` timestamp DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY `PRIMARY` (`ACCOUNT_ID`),
    UNIQUE KEY `MOBILE_ID` (`MOBILE_ID`),
    UNIQUE KEY `UNIQUE_PHONE` (`COUNTRY_CODE`,`PHONE_NUMBER`,`INTERNAL_STATUS`),
    KEY `PHONE_NUMBER` (`COUNTRY_CODE`,`PHONE_NUMBER`),
    KEY `ACCOUNT_ID_STATUS_IDX` (`ACCOUNT_ID`,`STATUS`)
    ) ENGINE=InnoDB;
    
  • innodb-file-per-table enabled at source and destination? – jerichorivera Feb 21 at 11:26
  • yes its enabled in both places; – hkbharath Feb 21 at 11:55
  • kindly add Xtrabackup version, backup commands used to backup and restore and SHOW CREATE TABLE account\G – jerichorivera Feb 21 at 13:03
  • Added required information in the Addition Information: section of the question. I will update xtrabackup version. – hkbharath Feb 21 at 13:37
  • try to use xtrabackup 2.3 since you are running mysql 5.6, and make sure to use --export during the prepare phase – jerichorivera Feb 22 at 13:39

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.