Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-13586

[Draft] InnoDB: Failing assertion: block->page.offset == page_get_page_no(page_align(ptr))

    XMLWordPrintable

    Details

      Description

      The failure happen in a local test run on 10.1-based tree with changes that I've made in MTR for MDEV-13583 part #1 (re-bootstrap options). Whether the changes are related to the failure or not, remains to be seen.

      10.1 06106c01481 + MTR modifications (attached)

      encryption.innodb-checksum-algorithm '8k,ctr,innodb_plugin' w6 [ fail ]
              Test ended at 2017-08-18 20:48:28
       
      CURRENT_TEST: encryption.innodb-checksum-algorithm
      mysqltest: At line 110: query 'ALTER TABLE tc_$checksum DISCARD TABLESPACE' failed: 2013: Lost connection to MySQL server during query
       
      The result from queries just before the failure was:
      < snip >
      restore: tc_crc32 .ibd and .cfg files
      restore: te_crc32 .ibd and .cfg files
      restore: t_crc32 .ibd and .cfg files
      restore: tpe_crc32 .ibd and .cfg files
      restore: tp_crc32 .ibd and .cfg files
      ALTER TABLE tce_crc32 IMPORT TABLESPACE;
      update tce_crc32 set b=substr(b,1);
      ALTER TABLE tc_crc32 IMPORT TABLESPACE;
      update tc_crc32 set b=substr(b,1);
      ALTER TABLE te_crc32 IMPORT TABLESPACE;
      update te_crc32 set b=substr(b,1);
      ALTER TABLE t_crc32 IMPORT TABLESPACE;
      update t_crc32 set b=substr(b,1);
      ALTER TABLE tpe_crc32 IMPORT TABLESPACE;
      update tpe_crc32 set b=substr(b,1);
      ALTER TABLE tp_crc32 IMPORT TABLESPACE;
      update tp_crc32 set b=substr(b,1);
      SET GLOBAL innodb_checksum_algorithm=none;
      ALTER TABLE tce_crc32 DISCARD TABLESPACE;
      ALTER TABLE tc_crc32 DISCARD TABLESPACE;
      ...
      2017-08-18 20:48:27 140298488044288 [Note] InnoDB: Sync to disk
      2017-08-18 20:48:27 140298488044288 [Note] InnoDB: Sync to disk - done!
      2017-08-18 20:48:27 140298488044288 [Note] InnoDB: Phase III - Flush changes to disk
      2017-08-18 20:48:27 140298488044288 [Note] InnoDB: Phase IV - Flush complete
      2017-08-18 20:48:27 140298488044288 [Note] InnoDB: "test"."tp_crc32" autoinc value set to 2
      2017-08-18 20:48:27 140298046916352 [ERROR] InnoDB: Corruption: Block space_id 0 != page space_id 0 or Block offset 570 != page offset 0 
      2017-08-18 20:48:27 7f99af3fc700  InnoDB: Assertion failure in thread 140298046916352 in file buf0buf.cc line 2865
      InnoDB: Failing assertion: block->page.offset == page_get_page_no(page_align(ptr))
      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.
      170818 20:48:27 [ERROR] mysqld got signal 6 ;
      #5  0x00007f99c75d33fa in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #6  0x00007f99c0a2581e in buf_block_align_instance (buf_pool=0x7f99c6c88478, ptr=0x7f99be680022 "") at /data/src/bb-10.1-elenst/storage/innobase/buf/buf0buf.cc:2864
      #7  0x00007f99c0a25898 in buf_block_align (ptr=0x7f99be680022 "") at /data/src/bb-10.1-elenst/storage/innobase/buf/buf0buf.cc:2895
      #8  0x00007f99c0b7f263 in mtr_memo_contains_page (mtr=0x7f99af3fb8b0, ptr=0x7f99be680022 "", type=2) at /data/src/bb-10.1-elenst/storage/innobase/mtr/mtr0mtr.cc:420
      #9  0x00007f99c0b7b276 in mlog_write_initial_log_record_fast (ptr=0x7f99be680022 "", type=4 '\004', log_ptr=0x7f99af3fbb10 "\204", mtr=0x7f99af3fb8b0) at /data/src/bb-10.1-elenst/storage/innobase/include/mtr0log.ic:1
      93
      #10 0x00007f99c0b7c080 in mlog_write_ulint (ptr=0x7f99be680022 "", val=0, type=4 '\004', mtr=0x7f99af3fb8b0) at /data/src/bb-10.1-elenst/storage/innobase/mtr/mtr0log.cc:287
      #11 0x00007f99c0aa816d in fil_crypt_rotate_page (key_state=0x7f99af3fbe00, state=0x7f99af3fbe10) at /data/src/bb-10.1-elenst/storage/innobase/fil/fil0crypt.cc:1870
      #12 0x00007f99c0aa85b9 in fil_crypt_rotate_pages (key_state=0x7f99af3fbe00, state=0x7f99af3fbe10) at /data/src/bb-10.1-elenst/storage/innobase/fil/fil0crypt.cc:2003
      #13 0x00007f99c0aa8d8c in fil_crypt_thread (arg=0x0) at /data/src/bb-10.1-elenst/storage/innobase/fil/fil0crypt.cc:2231
      #14 0x00007f99c953c494 in start_thread (arg=0x7f99af3fc700) at pthread_create.c:333
      #15 0x00007f99c768793f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      Bootstrap log, error log and MTR stdout are attached. MTR was running without verbose-restart, but it's clear from the error log that the server was restarted before the test (and rebootsrapped). Datadir including the coredump is also attached.

        Attachments

        1. bootstrap.log
          140 kB
        2. datadir.tar.gz
          5.65 MB
        3. mysqld.1.err.gz
          1.20 MB
        4. test.out
          559 kB

          Issue Links

            Activity

              People

              Assignee:
              elenst Elena Stepanova
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: