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

0x7f0118195700 InnoDB: Assertion failure in file /home/buildbot/buildbot/build/mariadb-10.3.7/storage/innobase/btr/btr0cur.cc line 4308

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.3.7, 10.3.12, 10.4(EOL)
    • 10.6.9, 10.7.5, 10.8.4, 10.9.2

    Description

      Following error output is generated during execution of an "normal" update query and leads to a crash of mariadb master (master-master replication).
      Occurrence: 3 times on two different database tables, not reproducible so far.

      2019-01-29 13:24:41 434826568 [ERROR] InnoDB: Page old data size 15175 new data size 15391, page old max ins size 1063 new max ins size 847
      2019-01-29 13:24:41 434826568 [ERROR] InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
      2019-01-29 13:24:41 0x7f0118195700  InnoDB: Assertion failure in file /home/buildbot/buildbot/build/mariadb-10.3.7/storage/innobase/btr/btr0cur.cc line 4308
      InnoDB: Failing assertion: rec
      InnoDB: We intentionally generate a memory trap.
      InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
      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: https://mariadb.com/kb/en/library/xtradbinnodb-recovery-modes/
      InnoDB: about forcing recovery.
      190129 13:24:41 [ERROR] 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.
       
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs
       
      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.
       
      Server version: 10.3.7-MariaDB-1:10.3.7+maria~xenial-log
      key_buffer_size=8589934592
      read_buffer_size=2097152
      max_used_connections=200
      max_threads=242
      thread_count=138
      It is possible that mysqld could use up to 
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 24749309 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x7efdec0009a8
      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 = 0x7f0118194cf8 thread_stack 0x30000
      /usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x55f49174003e]
      /usr/sbin/mysqld(handle_fatal_signal+0x347)[0x55f4911ec607]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f045d869390]
      /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f045ce38428]
      /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f045ce3a02a]
      /usr/sbin/mysqld(+0x49ee74)[0x55f490f39e74]
      /usr/sbin/mysqld(+0xb0a1aa)[0x55f4915a51aa]
      /usr/sbin/mysqld(+0xa8c949)[0x55f491527949]
      /usr/sbin/mysqld(+0xa91a1d)[0x55f49152ca1d]
      /usr/sbin/mysqld(+0xa92c4f)[0x55f49152dc4f]
      /usr/sbin/mysqld(+0xa5fed4)[0x55f4914faed4]
      /usr/sbin/mysqld(+0x99f3ff)[0x55f49143a3ff]
      /usr/sbin/mysqld(_ZN7handler13ha_update_rowEPKhS1_+0x122)[0x55f4911f7072]
      /usr/sbin/mysqld(_Z12mysql_updateP3THDP10TABLE_LISTR4ListI4ItemES6_PS4_jP8st_ordery15enum_duplicatesbPySB_+0x16b1)[0x55f4910b05d1]
      /usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x2478)[0x55f491014058]
      /usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x21a)[0x55f49101a77a]
      /usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcjbb+0x1c23)[0x55f49101d0c3]
      /usr/sbin/mysqld(_Z10do_commandP3THD+0x13c)[0x55f49101db7c]
      /usr/sbin/mysqld(_Z24do_handle_one_connectionP7CONNECT+0x252)[0x55f4910ebc92]
      /usr/sbin/mysqld(handle_one_connection+0x3d)[0x55f4910ebe0d]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f045d85f6ba]
      /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f045cf0a41d]
      

      "Optimize table" does not help because the second crash occurred after an "optimize table run" on that database table.

      Attachments

        Issue Links

          Activity

            elenst reasons that this bug is about the assertion failure, which is reporting corruption of the table, which in the reported case was likely introduced in an older 10.3 or 10.4 version of MariaDB Server before the MDEV-19916 fix (10.3.17, 10.4.7).

            This assertion could also fail due to something else causing the corruption.

            By this reasoning, I will not close this bug as a duplicate of MDEV-19916, but I will lower the priority.

            Instead of reporting the corruption by an assertion failure, we should ideally return an error to the client and abort the operation. It might not be wise to initiate rollback of the current transaction, because that might end up corrupting the known-corrupted index even further. This is conceptually related to
            MDEV-13542 Crashing on a corrupted page is unhelpful.

            marko Marko Mäkelä added a comment - elenst reasons that this bug is about the assertion failure, which is reporting corruption of the table, which in the reported case was likely introduced in an older 10.3 or 10.4 version of MariaDB Server before the MDEV-19916 fix (10.3.17, 10.4.7). This assertion could also fail due to something else causing the corruption. By this reasoning, I will not close this bug as a duplicate of MDEV-19916 , but I will lower the priority. Instead of reporting the corruption by an assertion failure, we should ideally return an error to the client and abort the operation. It might not be wise to initiate rollback of the current transaction, because that might end up corrupting the known-corrupted index even further. This is conceptually related to MDEV-13542 Crashing on a corrupted page is unhelpful.

            This was missed in MDEV-13542.

            marko Marko Mäkelä added a comment - This was missed in MDEV-13542 .
            r.kubik Robert Kubik added a comment -

            Hello,
            we have similar issue as well

            2022-06-03 09:51:07 0x7f95d5e9c700  InnoDB: Assertion failure in file /home/buildbot/buildbot/build/mariadb-10.6.4/storage/innobase/rem/rem0rec.cc line 877
            

            Can I assume, that it's the same issue and just wait for the fix?

            r.kubik Robert Kubik added a comment - Hello, we have similar issue as well 2022-06-03 09:51:07 0x7f95d5e9c700 InnoDB: Assertion failure in file /home/buildbot/buildbot/build/mariadb-10.6.4/storage/innobase/rem/rem0rec.cc line 877 Can I assume, that it's the same issue and just wait for the fix?

            r.kubik, that assertion is in a different file. It is MDEV-21098.

            marko Marko Mäkelä added a comment - r.kubik , that assertion is in a different file. It is MDEV-21098 .

            In addition to the function btr_page_reorganize_low(), I fixed a few more functions so that they will return an error code instead of crashing the server.

            MDEV-21098, MDEV-22388, MDEV-28457 are the last currently known cases of crashing due to corruption.

            marko Marko Mäkelä added a comment - In addition to the function btr_page_reorganize_low() , I fixed a few more functions so that they will return an error code instead of crashing the server. MDEV-21098 , MDEV-22388 , MDEV-28457 are the last currently known cases of crashing due to corruption.

            People

              marko Marko Mäkelä
              onock Christian Kueppers
              Votes:
              1 Vote for this issue
              Watchers:
              11 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.