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

InnoDB: Assertion failure in file buf0buf.cc line 4730 (encryption.create_or_replace fails in buildbot and outside)

Details

    • 10.1.19

    Description

      perl ./mtr encryption.create_or_replace
      

      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: Database page corruption on disk or a failed
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: Space 0 file ./ibdata1 read of page 301.
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: You may have to recover from a backup.
      ...
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: It is also possible that your operatingsystem has corrupted its own file cache.
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: and rebooting your computer removes the error.
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: If the corrupt page is an index page you can also try to
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: fix the corruption by dumping, dropping, and reimporting
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: the corrupt table. You can use CHECK
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: TABLE to scan your table for corruption.
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: See also http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html about forcing recovery.
      2016-10-31  4:13:55 139793257858944 [ERROR] InnoDB: Ending processing because of a corrupt database page.
      2016-10-31 04:13:55 7f24277a0780  InnoDB: Assertion failure in thread 139793257858944 in file buf0buf.cc line 4730
      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.
      161031  4:13:55 [ERROR] mysqld got signal 6 ;
      

      #5  0x00007f2423ff4448 in __GI_abort () at abort.c:89
      #6  0x00007f241d22cac3 in buf_page_io_complete (bpage=0x7f241ab999c0, evict=false) at /data/src/10.1/storage/innobase/buf/buf0buf.cc:4730
      #7  0x00007f241d2494e3 in buf_read_page_low (err=0x7ffeb59a7d1c, sync=true, mode=132, space=0, zip_size=0, unzip=0, tablespace_version=1, offset=301, rbpage=0x7ffeb59a7d80) at /data/src/10.1/storage/innobase/buf/buf0rea.cc:218
      #8  0x00007f241d249a2d in buf_read_page (space=0, zip_size=0, offset=301, bpage=0x7ffeb59a7d80) at /data/src/10.1/storage/innobase/buf/buf0rea.cc:424
      #9  0x00007f241d228677 in buf_page_get_gen (space=0, zip_size=0, offset=301, rw_latch=2, guess=0x0, mode=10, file=0x7f241d5384b0 "/data/src/10.1/storage/innobase/include/trx0undo.ic", line=171, mtr=0x7ffeb59a7fe0, err=0x0) at /data/src/10.1/storage/innobase/buf/buf0buf.cc:2959
      #10 0x00007f241d491db6 in trx_undo_page_get (space=0, zip_size=0, page_no=301, mtr=0x7ffeb59a7fe0) at /data/src/10.1/storage/innobase/include/trx0undo.ic:170
      #11 0x00007f241d49428b in trx_undo_mem_create_at_db_start (rseg=0x7f241f7b53f8, id=0, page_no=301, mtr=0x7ffeb59a7fe0) at /data/src/10.1/storage/innobase/trx/trx0undo.cc:1292
      #12 0x00007f241d494a25 in trx_undo_lists_init (rseg=0x7f241f7b53f8) at /data/src/10.1/storage/innobase/trx/trx0undo.cc:1424
      #13 0x00007f241d484219 in trx_rseg_mem_create (id=0, space=0, zip_size=0, page_no=6, ib_bh=0x7f241c40a400, mtr=0x7ffeb59a8630) at /data/src/10.1/storage/innobase/trx/trx0rseg.cc:209
      #14 0x00007f241d4844ec in trx_rseg_create_instance (sys_header=0x7f241ac18026 "", ib_bh=0x7f241c40a400, mtr=0x7ffeb59a8630) at /data/src/10.1/storage/innobase/trx/trx0rseg.cc:287
      #15 0x00007f241d48479f in trx_rseg_array_init (sys_header=0x7f241ac18026 "", ib_bh=0x7f241c40a400, mtr=0x7ffeb59a8630) at /data/src/10.1/storage/innobase/trx/trx0rseg.cc:358
      #16 0x00007f241d487483 in trx_sys_init_at_db_start () at /data/src/10.1/storage/innobase/trx/trx0sys.cc:647
      #17 0x00007f241d460467 in innobase_start_or_create_for_mysql () at /data/src/10.1/storage/innobase/srv/srv0start.cc:2498
      #18 0x00007f241d2f1ef3 in innobase_init (p=0x7f2423425470) at /data/src/10.1/storage/innobase/handler/ha_innodb.cc:3965
      #19 0x00007f2426a2d868 in ha_initialize_handlerton (plugin=0x7f241f7f4bf0) at /data/src/10.1/sql/handler.cc:513
      #20 0x00007f242680c733 in plugin_initialize (tmp_root=0x7ffeb59ac730, plugin=0x7f241f7f4bf0, argc=0x7f2427a834b0 <remaining_argc>, argv=0x7f24234700c0, options_only=false) at /data/src/10.1/sql/sql_plugin.cc:1408
      #21 0x00007f242680d2c6 in plugin_init (argc=0x7f2427a834b0 <remaining_argc>, argv=0x7f24234700c0, flags=2) at /data/src/10.1/sql/sql_plugin.cc:1679
      #22 0x00007f242672c2be in init_server_components () at /data/src/10.1/sql/mysqld.cc:5198
      #23 0x00007f242672d323 in mysqld_main (argc=149, argv=0x7f24234700c0) at /data/src/10.1/sql/mysqld.cc:5787
      #24 0x00007f2426722a20 in main (argc=25, argv=0x7ffeb59ad478) at /data/src/10.1/sql/main.cc:25
      

      Attachments

        Issue Links

          Activity

            commit 554c60ab0d383e8e6d473294fb86a9db0b0d2b9b
            Author: Jan Lindström <jan.lindstrom@mariadb.com>
            Date: Mon Oct 31 12:44:06 2016 +0200

            MDEV-11182: InnoDB: Assertion failure in file buf0buf.cc line 4730 (encryption.create_or_replace fails in buildbot and outside)

            Analysis: Problem is that page is encrypted but encryption information
            on page 0 has already being changed.

            Fix: If page header contains key_version != 0 and even if based on
            current encryption information tablespace is not encrypted we
            need to check is page corrupted. If it is not, then we know that
            page is not encrypted. If page is corrupted, we need to try to
            decrypt it and then compare the stored and calculated checksums
            to see is page corrupted or not.

            jplindst Jan Lindström (Inactive) added a comment - commit 554c60ab0d383e8e6d473294fb86a9db0b0d2b9b Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Mon Oct 31 12:44:06 2016 +0200 MDEV-11182 : InnoDB: Assertion failure in file buf0buf.cc line 4730 (encryption.create_or_replace fails in buildbot and outside) Analysis: Problem is that page is encrypted but encryption information on page 0 has already being changed. Fix: If page header contains key_version != 0 and even if based on current encryption information tablespace is not encrypted we need to check is page corrupted. If it is not, then we know that page is not encrypted. If page is corrupted, we need to try to decrypt it and then compare the stored and calculated checksums to see is page corrupted or not.

            People

              jplindst Jan Lindström (Inactive)
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.