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

Innodb assertion - DICT_TF_HAS_DATA_DIR(table->flags) (was: Falha ao tentar iniciar serviço)

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Duplicate
    • 10.6.5
    • N/A
    • None
    • Windows 10 Pro X64 21h1 19043.1586, I7-4770, 16GB ram, 2x SSD Adata 1TB Raid 0

    Description

      Tive essa falha em nosso banco de dados em produção, porém não consegui encontrar uma possível causa para o problema, ao reiniciar o serviço o mesmo voltou a funcionar, porém, demorou mais de 15 minutos para iniciar e agora nosso banco de dados está com lentidão.

      Google translate version:

      There was a failure in our dice bank in production, but I couldn't find a possible cause for the problem, either restarted the service or it returned to work, so it took more than 15 minutes to start and now our dice bank is slow

      Attachments

        Issue Links

          Activity

            danblack Daniel Black added a comment -

            2022-04-12 11:33:17 0x69c  InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\dict\dict0load.cc line 2139
            InnoDB: Failing assertion: DICT_TF_HAS_DATA_DIR(table->flags)
            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 mariadbd startup, there may be
            InnoDB: corruption in the InnoDB tablespace. Please refer to
            InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/
            InnoDB: about forcing recovery.
            220412 11:33:17 [ERROR] mysqld got exception 0x80000003 ;
            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.6.5-MariaDB
            key_buffer_size=1048576000
            read_buffer_size=131072
            max_used_connections=109
            max_threads=65537
            thread_count=102
            It is possible that mysqld could use up to 
            key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 143636872 K  bytes of memory
            Hope that's ok; if not, decrease some variables in the equation.
             
            Thread pointer: 0x1f2e26d7568
            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...
            server.dll!my_parameter_handler()[my_init.c:278]
            ucrtbase.dll!raise()
            ucrtbase.dll!abort()
            server.dll!ut_dbg_assertion_failed()[ut0dbg.cc:60]
            server.dll!dict_save_data_dir_path()[dict0load.cc:2139]
            server.dll!dict_get_and_save_data_dir_path()[dict0load.cc:2179]
            server.dll!ha_innobase::update_create_info()[ha_innodb.cc:11389]
            server.dll!get_schema_tables_record()[sql_show.cc:5634]
            server.dll!fill_schema_table_by_open()[sql_show.cc:4710]
            server.dll!get_all_tables()[sql_show.cc:5320]
            server.dll!get_schema_tables_result()[sql_show.cc:8842]
            server.dll!JOIN::exec_inner()[sql_select.cc:4693]
            server.dll!JOIN::exec()[sql_select.cc:4516]
            server.dll!mysql_select()[sql_select.cc:4996]
            server.dll!handle_select()[sql_select.cc:545]
            server.dll!execute_sqlcom_select()[sql_parse.cc:6256]
            server.dll!mysql_execute_command()[sql_parse.cc:3946]
            server.dll!mysql_parse()[sql_parse.cc:8034]
            server.dll!dispatch_command()[sql_parse.cc:1898]
            server.dll!do_command()[sql_parse.cc:1404]
            server.dll!threadpool_process_request()[threadpool_common.cc:403]
            server.dll!tp_callback()[threadpool_common.cc:203]
            KERNEL32.DLL!TermsrvSetKeySecurity()
            ntdll.dll!RtlEqualUnicodeString()
            ntdll.dll!TpReleaseCleanupGroupMembers()
            KERNEL32.DLL!BaseThreadInitThunk()
            ntdll.dll!RtlUserThreadStart()
             
             
            Trying to get some variables.
            Some pointers may be invalid and cause the dump to abort.
            Query (0x1f2e1ed8290): SHOW TABLE STATUS FROM `6818`
            Connection ID (thread ID): 787
            Status: NOT_KILLED
            

            This looks very much like a duplicate of MDEV-26551

            danblack Daniel Black added a comment - 2022-04-12 11:33:17 0x69c InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\dict\dict0load.cc line 2139 InnoDB: Failing assertion: DICT_TF_HAS_DATA_DIR(table->flags) 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 mariadbd startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/ InnoDB: about forcing recovery. 220412 11:33:17 [ERROR] mysqld got exception 0x80000003 ; 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.6.5-MariaDB key_buffer_size=1048576000 read_buffer_size=131072 max_used_connections=109 max_threads=65537 thread_count=102 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 143636872 K bytes of memory Hope that's ok; if not, decrease some variables in the equation.   Thread pointer: 0x1f2e26d7568 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... server.dll!my_parameter_handler()[my_init.c:278] ucrtbase.dll!raise() ucrtbase.dll!abort() server.dll!ut_dbg_assertion_failed()[ut0dbg.cc:60] server.dll!dict_save_data_dir_path()[dict0load.cc:2139] server.dll!dict_get_and_save_data_dir_path()[dict0load.cc:2179] server.dll!ha_innobase::update_create_info()[ha_innodb.cc:11389] server.dll!get_schema_tables_record()[sql_show.cc:5634] server.dll!fill_schema_table_by_open()[sql_show.cc:4710] server.dll!get_all_tables()[sql_show.cc:5320] server.dll!get_schema_tables_result()[sql_show.cc:8842] server.dll!JOIN::exec_inner()[sql_select.cc:4693] server.dll!JOIN::exec()[sql_select.cc:4516] server.dll!mysql_select()[sql_select.cc:4996] server.dll!handle_select()[sql_select.cc:545] server.dll!execute_sqlcom_select()[sql_parse.cc:6256] server.dll!mysql_execute_command()[sql_parse.cc:3946] server.dll!mysql_parse()[sql_parse.cc:8034] server.dll!dispatch_command()[sql_parse.cc:1898] server.dll!do_command()[sql_parse.cc:1404] server.dll!threadpool_process_request()[threadpool_common.cc:403] server.dll!tp_callback()[threadpool_common.cc:203] KERNEL32.DLL!TermsrvSetKeySecurity() ntdll.dll!RtlEqualUnicodeString() ntdll.dll!TpReleaseCleanupGroupMembers() KERNEL32.DLL!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart()     Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0x1f2e1ed8290): SHOW TABLE STATUS FROM `6818` Connection ID (thread ID): 787 Status: NOT_KILLED This looks very much like a duplicate of MDEV-26551
            danblack Daniel Black added a comment -

            The crash recovery implementation has been improved in MDEV-14425 (10.8). It won't help you yet.

            In the mean time it seems avoiding SHOW TABLE STATUS is the workaround until next release.

            danblack Daniel Black added a comment - The crash recovery implementation has been improved in MDEV-14425 (10.8). It won't help you yet. In the mean time it seems avoiding SHOW TABLE STATUS is the workaround until next release.
            danblack Daniel Black added a comment -

            Recommend watch marko's FOSDEM 2022 talk. Take note of innodb_log_file_size recommendation.

            Also your settings max_allowed_packet, join_buffer_size, key_buffer_size settings look suspiciously high.

            Thanks for the bug report.

            danblack Daniel Black added a comment - Recommend watch marko 's FOSDEM 2022 talk . Take note of innodb_log_file_size recommendation. Also your settings max_allowed_packet , join_buffer_size , key_buffer_size settings look suspiciously high. Thanks for the bug report.

            People

              marko Marko Mäkelä
              pillareck Edson Pillareck Junior
              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.