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

InnoDB: Failing assertion: dict_tf2_is_valid(flags, flags2)

    XMLWordPrintable

Details

    Description

      This bug is similar than https://jira.mariadb.org/browse/MDEV-22627 but it happens also with an ALTER table.

      I am able to reproduce as soon as I try the alter table.

      Table:

      show create table aawiki.templatelinks\G
      *************************** 1. row ***************************
             Table: templatelinks
      Create Table: CREATE TABLE `templatelinks` (
        `tl_from` int(8) unsigned NOT NULL DEFAULT 0,
        `tl_namespace` int(11) NOT NULL DEFAULT 0,
        `tl_title` varbinary(255) NOT NULL DEFAULT '',
        `tl_from_namespace` int(11) NOT NULL DEFAULT 0,
        PRIMARY KEY (`tl_from`,`tl_namespace`,`tl_title`),
        KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`),
        KEY `tl_backlinks_namespace` (`tl_from_namespace`,`tl_namespace`,`tl_title`,`tl_from`)
      ) ENGINE=InnoDB DEFAULT CHARSET=binary ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
      

      ALTER:

      ALTER TABLE templatelinks ADD  tl_target_id BIGINT UNSIGNED DEFAULT NULL
      

      Full trace:

      Feb 15 17:01:30 db2074 mysqld[3307939]: 2022-02-15 17:01:30 18 [Note] Slave I/O thread: Start semi-sync replication to master 'repl@db2105.codfw.wmnet:3306' in log 'db2105-bin.004048' at position 4
      Feb 15 17:01:30 db2074 mysqld[3307939]: 2022-02-15 17:01:30 18 [Note] Slave I/O thread: connected to master 'repl@db2105.codfw.wmnet:3306',replication starts at GTID position '171978787-171978787-3148314508,0-171966669-4075095254,171966669-171966669-4196523483,171966508-1>
      Feb 15 17:01:35 db2074 mysqld[3307939]: 2022-02-15 17:01:35 0x7f5edc2dd700  InnoDB: Assertion failure in file /root/mariadb-10.4.22/storage/innobase/dict/dict0mem.cc line 152
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: Failing assertion: dict_tf2_is_valid(flags, flags2)
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: We intentionally generate a memory trap.
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: If you get repeated assertion failures or crashes, even
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: immediately after the mysqld startup, there may be
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: corruption in the InnoDB tablespace. Please refer to
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/
      Feb 15 17:01:35 db2074 mysqld[3307939]: InnoDB: about forcing recovery.
      Feb 15 17:01:35 db2074 mysqld[3307939]: 220215 17:01:35 [ERROR] mysqld got signal 6 ;
      Feb 15 17:01:35 db2074 mysqld[3307939]: This could be because you hit a bug. It is also possible that this binary
      Feb 15 17:01:35 db2074 mysqld[3307939]: or one of the libraries it was linked against is corrupt, improperly built,
      Feb 15 17:01:35 db2074 mysqld[3307939]: or misconfigured. This error can also be caused by malfunctioning hardware.
      Feb 15 17:01:35 db2074 mysqld[3307939]: To report this bug, see https://mariadb.com/kb/en/reporting-bugs
      Feb 15 17:01:35 db2074 mysqld[3307939]: We will try our best to scrape up some info that will hopefully help
      Feb 15 17:01:35 db2074 mysqld[3307939]: diagnose the problem, but since we have already crashed,
      Feb 15 17:01:35 db2074 mysqld[3307939]: something is definitely wrong and this may fail.
      Feb 15 17:01:35 db2074 mysqld[3307939]: Server version: 10.4.22-MariaDB-log
      Feb 15 17:01:35 db2074 mysqld[3307939]: key_buffer_size=134217728
      Feb 15 17:01:35 db2074 mysqld[3307939]: read_buffer_size=131072
      Feb 15 17:01:35 db2074 mysqld[3307939]: max_used_connections=5
      Feb 15 17:01:35 db2074 mysqld[3307939]: max_threads=2010
      Feb 15 17:01:35 db2074 mysqld[3307939]: thread_count=10
      Feb 15 17:01:35 db2074 mysqld[3307939]: It is possible that mysqld could use up to
      Feb 15 17:01:35 db2074 mysqld[3307939]: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 4753048 K  bytes of memory
      Feb 15 17:01:35 db2074 mysqld[3307939]: Hope that's ok; if not, decrease some variables in the equation.
      Feb 15 17:01:35 db2074 mysqld[3307939]: Thread pointer: 0x7efe2c001538
      Feb 15 17:01:35 db2074 mysqld[3307939]: Attempting backtrace. You can use the following information to find out
      Feb 15 17:01:35 db2074 mysqld[3307939]: where mysqld died. If you see no messages after this, something went
      Feb 15 17:01:35 db2074 mysqld[3307939]: terribly wrong...
      Feb 15 17:01:35 db2074 mysqld[3307939]: stack_bottom = 0x7f5edc2dc760 thread_stack 0x30000
      Feb 15 17:01:35 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(my_print_stacktrace+0x2e)[0x55667bd4fdbe]
      Feb 15 17:01:35 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(handle_fatal_signal+0x54d)[0x55667b81188d]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7f5f359c3140]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141)[0x7f5f3550cce1]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /lib/x86_64-linux-gnu/libc.so.6(abort+0x123)[0x7f5f354f6537]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0x5b967a)[0x55667b4d967a]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0x5cc8c7)[0x55667b4ec8c7]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0xad631f)[0x55667b9f631f]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0xad9f18)[0x55667b9f9f18]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0x7697e8)[0x55667b6897e8]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(_Z17mysql_alter_tableP3THDPK25st_mysql_const_lex_stringS3_P14HA_CREATE_INFOP10TABLE_LISTP10Alter_infojP8st_orderb+0x3e94)[0x55667b696384]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(_ZN19Sql_cmd_alter_table7executeEP3THD+0x347)[0x55667b6ef8b7]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(_Z21mysql_execute_commandP3THD+0x631f)[0x55667b5efe6f]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x223)[0x55667b5f1e13]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(_ZN15Query_log_event14do_apply_eventEP14rpl_group_infoPKcj+0x6e6)[0x55667b925a26]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0x619b04)[0x55667b539b04]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(handle_slave_sql+0x1662)[0x55667b543a22]
      Feb 15 17:01:36 db2074 mysqld[3307939]: /opt/wmf-mariadb104/bin/mysqld(+0xddf482)[0x55667bcff482]
      Feb 15 17:01:37 db2074 mysqld[3307939]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7)[0x7f5f359b7ea7]
      Feb 15 17:01:37 db2074 mysqld[3307939]: /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f5f355cedef]
      Feb 15 17:01:37 db2074 mysqld[3307939]: Trying to get some variables.
      Feb 15 17:01:37 db2074 mysqld[3307939]: Some pointers may be invalid and cause the dump to abort.
      Feb 15 17:01:37 db2074 mysqld[3307939]: Query (0x7efe2c014eb5): ALTER TABLE templatelinks ADD  tl_target_id BIGINT UNSIGNED DEFAULT NULL
      Feb 15 17:01:37 db2074 mysqld[3307939]: Connection ID (thread ID): 19
      Feb 15 17:01:37 db2074 mysqld[3307939]: Status: NOT_KILLED
      Feb 15 17:01:37 db2074 mysqld[3307939]: Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_ke>
      Feb 15 17:01:37 db2074 mysqld[3307939]: The manual page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ contains
      Feb 15 17:01:37 db2074 mysqld[3307939]: information that should help you find out what is causing the crash.
      Feb 15 17:01:37 db2074 mysqld[3307939]: Writing a core file...
      Feb 15 17:01:37 db2074 mysqld[3307939]: Working directory at /srv/sqldata
      Feb 15 17:01:37 db2074 mysqld[3307939]: Resource Limits:
      Feb 15 17:01:37 db2074 mysqld[3307939]: Limit                     Soft Limit           Hard Limit           Units
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max cpu time              unlimited            unlimited            seconds
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max file size             unlimited            unlimited            bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max data size             unlimited            unlimited            bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max stack size            8388608              unlimited            bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max core file size        0                    0                    bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max resident set          unlimited            unlimited            bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max processes             2063462              2063462              processes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max open files            200001               200001               files
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max locked memory         65536                65536                bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max address space         unlimited            unlimited            bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max file locks            unlimited            unlimited            locks
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max pending signals       2063462              2063462              signals
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max msgqueue size         819200               819200               bytes
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max nice priority         0                    0
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max realtime priority     0                    0
      Feb 15 17:01:37 db2074 mysqld[3307939]: Max realtime timeout      unlimited            unlimited            us
      Feb 15 17:01:37 db2074 mysqld[3307939]: Core pattern: /var/tmp/core/core.%h.%e.%p.%t
      Feb 15 17:01:37 db2074 systemd[1]: mariadb.service: Main process exited, code=killed, status=6/ABRT
      

      mysql:root@localhost [information_schema]> select * from innodb_sys_tables where name like 'aawiki/templatelinks';
      +----------+----------------------+------+--------+--------+------------+---------------+------------+
      | TABLE_ID | NAME                 | FLAG | N_COLS | SPACE  | ROW_FORMAT | ZIP_PAGE_SIZE | SPACE_TYPE |
      +----------+----------------------+------+--------+--------+------------+---------------+------------+
      |   185034 | aawiki/templatelinks |    1 |      7 | 185029 | Compact    |             0 | Single     |
      +----------+----------------------+------+--------+--------+------------+---------------+------------+
      1 row in set (0.275 sec)
      

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marostegui Manuel Arostegui
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.