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

Assertion `!share->no_status_updates' failed in _ma_mark_file_changed_now upon CHECK on S3 table

Details

    Description

      drop table if exists t;
      create table t (b varchar(8192)) engine=Aria;
      insert into t values (repeat('1',8182));
      alter table t engine=S3;
      check table t;
       
      # Cleanup
      drop table t;
      

      10.5 8494758e

      mariadbd: /data/src/10.5/storage/maria/ma_locking.c:451: _ma_mark_file_changed_now: Assertion `!share->no_status_updates' failed.
      220719 18:50:58 [ERROR] mysqld got signal 6 ;
       
      #6  0x00007f64e1c2040f in __assert_fail_base (fmt=0x7f64e1d89128 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x563d6b0ec77e "!share->no_status_updates", file=0x563d6b0ec650 "/data/src/10.5/storage/maria/ma_locking.c", line=451, function=<optimized out>) at assert.c:92
              str = 0x7f64c010acf0 "\220.\005\300d\177"
              total = 4096
      #7  0x00007f64e1c2f662 in __GI___assert_fail (assertion=0x563d6b0ec77e "!share->no_status_updates", file=0x563d6b0ec650 "/data/src/10.5/storage/maria/ma_locking.c", line=451, function=0x563d6b0ec840 <__PRETTY_FUNCTION__.3> "_ma_mark_file_changed_now") at assert.c:101
      No locals.
      #8  0x0000563d6a6dbe05 in _ma_mark_file_changed_now (share=0x7f64c00859a8) at /data/src/10.5/storage/maria/ma_locking.c:451
              buff = "\177\000"
              error = 1
              _db_stack_frame_ = {func = 0x563d6b105100 "_ma_change_bitmap_page", file = 0x563d6b104bd8 "/data/src/10.5/storage/maria/ma_bitmap.c", level = 2147483659, line = -1, prev = 0x7f64dc2dff40}
              __PRETTY_FUNCTION__ = "_ma_mark_file_changed_now"
      #9  0x0000563d6a76f24e in _ma_bitmap_mark_file_changed (share=0x7f64c00859a8, flush_translog=1 '\001') at /data/src/10.5/storage/maria/ma_bitmap.c:387
      No locals.
      #10 0x0000563d6a7709bf in _ma_change_bitmap_page (info=0x7f64c0060cc8, bitmap=0x7f64c0086500, page=0) at /data/src/10.5/storage/maria/ma_bitmap.c:1136
              _db_stack_frame_ = {func = 0x563d6b1054a7 "_ma_bitmap_get_page_bits", file = 0x563d6b104bd8 "/data/src/10.5/storage/maria/ma_bitmap.c", level = 2147483658, line = -1, prev = 0x7f64dc2dffc0}
      #11 0x0000563d6a773397 in bitmap_get_page_bits (info=0x7f64c0060cc8, bitmap=0x7f64c0086500, page=2) at /data/src/10.5/storage/maria/ma_bitmap.c:2400
              bitmap_page = 0
              offset_page = 22077
              offset = 3221775752
              tmp = 32612
              data = 0x7f64dc2dffc0 "F\201\020k=V"
              _db_stack_frame_ = {func = 0x563d6b108146 "check_head_page", file = 0x563d6b107040 "/data/src/10.5/storage/maria/ma_check.c", level = 2147483657, line = -1, prev = 0x7f64dc2e00f0}
      #12 0x0000563d6a773471 in _ma_bitmap_get_page_bits (info=0x7f64c0060cc8, bitmap=0x7f64c0086500, page=2) at /data/src/10.5/storage/maria/ma_bitmap.c:2424
              tmp = 0
      #13 0x0000563d6a774c73 in _ma_check_if_right_bitmap_type (info=0x7f64c0060cc8, page_type=BLOB_PAGE, page=2, bitmap_pattern=0x7f64dc2e00a4) at /data/src/10.5/storage/maria/ma_bitmap.c:3042
              __PRETTY_FUNCTION__ = "_ma_check_if_right_bitmap_type"
      #14 0x0000563d6a78e63b in check_head_page (param=0x7f64c0253570, info=0x7f64c0060cc8, record=0x7f64c006a1d8 "\376\366\037", '\061' <repeats 197 times>..., extend=1, page_pos=8192, page_buff=0x7f64c006e288 "", row_count=1) at /data/src/10.5/storage/maria/ma_check.c:1836
              bitmap_pattern = 32612
              extent_page = 2
              page_count = 0
              page_type = 3
              extents = 0x7f64c0079c6f "\003"
              i = 0
              pos = 12
              length = 28
              flag = 128
              share = 0x7f64c00859a8
              dir_entry = 0x7f64c0070280 "\f"
              row = 0
              llbuff = "\272\204\020k=V\000\000@p\020k=V\000\000\b\000\000\200\320\037"
              llbuff2 = "p\001.\334d\177\000\000\301Gwj=V\000\000\070j\000\300d\177"
              page = 1
              _db_stack_frame_ = {func = 0x563d6b1084ba "maria_chk_data_link", file = 0x563d6b107040 "/data/src/10.5/storage/maria/ma_check.c", level = 2147483656, line = -1, prev = 0x7f64dc2e02e0}
      #15 0x0000563d6a78f3a5 in check_block_record (param=0x7f64c0253570, info=0x7f64c0060cc8, extend=1, record=0x7f64c006a1d8 "\376\366\037", '\061' <repeats 197 times>...) at /data/src/10.5/storage/maria/ma_check.c:2048
              bitmap_pattern = 377
              bitmap_for_page = 1
              row_count = 1
              real_row_count = 1
              empty_space = 8144
              page_type = 1
              share = 0x7f64c00859a8
              pos = 8192
              page = 1
              page_buff = 0x7f64c006e288 ""
              bitmap_buff = 0x7f64c006c288 "y\001"
              data = 0x7f64c006c288 "y\001"
              llbuff = "\020 \000\000\000\000\000\000\270\f\000\300\000\000\000\000\220\002.\334\000"
              llbuff2 = "\330\241\006\300d\177\000\000\020 \000\000\000\000\000\000\272\204\020k=V"
              block_size = 8192
              full_page_count = 0
              tail_count = 0
              full_dir = 0 '\000'
              now_transactional = 0 '\000'
              offset_page = 0
              offset = 0
              free_count = 0
              lsn = 0
              __PRETTY_FUNCTION__ = "check_block_record"
      #16 0x0000563d6a78f9d2 in maria_chk_data_link (param=0x7f64c0253570, info=0x7f64c0060cc8, extend=1 '\001') at /data/src/10.5/storage/maria/ma_check.c:2152
              share = 0x7f64c00859a8
              error = 0
              record = 0x7f64c006a1d8 "\376\366\037", '\061' <repeats 197 times>...
              llbuff = " \003.\334d\177\000\000\227\355\377i=V\000\000B:G\000\000"
              llbuff2 = "P\003.\334d\177\000\000z\246\vj=V\000\000\070]\351j=V"
              llbuff3 = "\266z\201j\005\000\000\000\326\247\204\222~\225\020\000p\003.\334d\177"
              _db_stack_frame_ = {func = 0x563d6aefc610 "mysql_admin_table", file = 0x563d6aefc320 "/data/src/10.5/sql/sql_admin.cc", level = 2147483655, line = -1, prev = 0x7f64dc2e05b0}
      #17 0x0000563d6a6f074d in ha_maria::check (this=0x7f64c0057c30, thd=0x7f64c0000db8, check_opt=0x7f64c0006220) at /data/src/10.5/storage/maria/ha_maria.cc:1341
              old_testflag = 4194832
              error = 0
              fatal_error = -600964128
              param = 0x7f64c0253570
              share = 0x7f64c00859a8
              old_proc_info = 0x563d6ae6fad5 "Executing"
              old_trn = 0x563d6ba9df00 <dummy_transaction_object>
              __PRETTY_FUNCTION__ = "virtual int ha_maria::check(THD*, HA_CHECK_OPT*)"
      #18 0x0000563d6a4a5356 in handler::ha_check (this=0x7f64c0057c30, thd=0x7f64c0000db8, check_opt=0x7f64c0006220) at /data/src/10.5/sql/handler.cc:4625
              error = 32612
              __PRETTY_FUNCTION__ = "int handler::ha_check(THD*, HA_CHECK_OPT*)"
      #19 0x0000563d6a2ed285 in mysql_admin_table (thd=0x7f64c0000db8, tables=0x7f64c00153d0, check_opt=0x7f64c0006220, operator_name=0x563d6aefcc14 "check", lock_type=TL_READ_NO_INSERT, org_open_for_modify=false, repair_table_use_frm=false, extra_open_options=32, prepare_func=0x0, operator_func=(int (handler::*)(handler * const, THD *, HA_CHECK_OPT *)) 0x563d6a4a5194 <handler::ha_check(THD*, st_ha_check_opt*)>, view_operator_func=0x563d6a26899f <view_check(THD*, TABLE_LIST*, st_ha_check_opt*)>, is_cmd_replicated=false) at /data/src/10.5/sql/sql_admin.cc:832
              table_name = {str = 0x7f64dc2e05f0 "test.t", length = 6}
              db = 0x7f64c0015aa8 "test"
              fatal_error = false
              open_for_modify = false
              table_name_buff = "test.t\000\000p\b.\334d\177\000\000\006\000\000\000d\177\000\000\340\f\000\300\000\000\000\000_\024\060k=V\000\000\000\000\000\000\000\000\000\000@\006.\334d\177\000\000\036\001\331j\000\000\001\000\036S\001\300d\177\000\000\b\000\000\000\000\000\000\000\000\000.\334d\177\000\000\340\f\000\300d\177\000\000\020S\001\300d\177\000\000\005\000\000\000\000\000\000\000\000\000.\334d\177\000\000o\363\333j=V\000\000\340\306\351j=V\000\000\320\b.\334d\177\000\000\v\000\000\000d\177\000\000\340\f\000\300d\177\000\000\300Z\001\300d\177\000\000\002\000\000\000\000\000\000\000\220\031\351j=V", '\000' <repeats 12 times>, "E\000\340\002<\003"...
              open_error = false
              collect_eis = false
              table = 0x7f64c00153d0
              field_list = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7f64c0015b58, last = 0x7f64c0015d80, elements = 4}, <No data fields>}
              item = 0x7f64c0015cd0
              protocol = 0x7f64c00013b0
              lex = 0x7f64c0004e98
              result_code = 0
              compl_result_code = 0
              need_repair_or_alter = false
              suspended_wfc = 0x0
              is_table_modified = false
              _db_stack_frame_ = {func = 0x563d6aefcbf7 "Sql_cmd_check_table::execute", file = 0x563d6aefc320 "/data/src/10.5/sql/sql_admin.cc", level = 2147483654, line = -1, prev = 0x7f64dc2e0c30}
              __PRETTY_FUNCTION__ = "bool mysql_admin_table(THD*, TABLE_LIST*, HA_CHECK_OPT*, const char*, thr_lock_type, bool, bool, uint, int (*)(THD*, TABLE_LIST*, HA_CHECK_OPT*), int (handler::*)(THD*, HA_CHECK_OPT*), int (*)(THD*, T"...
      #20 0x0000563d6a2ef626 in Sql_cmd_check_table::execute (this=0x7f64c0015ab0, thd=0x7f64c0000db8) at /data/src/10.5/sql/sql_admin.cc:1424
              m_lex = 0x7f64c0004e98
              first_table = 0x7f64c00153d0
              lock_type = TL_READ_NO_INSERT
              res = true
              _db_stack_frame_ = {func = 0x563d6aeab998 "mysql_execute_command", file = 0x563d6aeaad20 "/data/src/10.5/sql/sql_parse.cc", level = 2147483653, line = -1, prev = 0x7f64dc2e0e00}
      #21 0x0000563d6a137c00 in mysql_execute_command (thd=0x7f64c0000db8) at /data/src/10.5/sql/sql_parse.cc:6056
              res = 0
              up_result = 0
              lex = 0x7f64c0004e98
              select_lex = 0x7f64c0005770
              first_table = 0x7f64c00153d0
              all_tables = 0x7f64c00153d0
              unit = 0x7f64c0004f60
              have_table_map_for_update = false
              rpl_filter = 0x0
              _db_stack_frame_ = {func = 0x563d6aeaccef "mysql_parse", file = 0x563d6aeaad20 "/data/src/10.5/sql/sql_parse.cc", level = 2147483652, line = -1, prev = 0x7f64dc2e1210}
              __PRETTY_FUNCTION__ = "int mysql_execute_command(THD*)"
              ots = {ctx = 0x7f64c0004b60, traceable = false}
              trace_command = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x563d6b71dd28 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
              trace_command_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x563d6b71dd08 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
              orig_binlog_format = BINLOG_FORMAT_MIXED
              orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
      #22 0x0000563d6a13dcf9 in mysql_parse (thd=0x7f64c0000db8, rawbuf=0x7f64c0015310 "check table t extended", length=22, parser_state=0x7f64dc2e13d0, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:8100
              found_semicolon = 0x0
              error = 32612
              lex = 0x7f64c0004e98
              err = false
              _db_stack_frame_ = {func = 0x563d6aeab1b2 "dispatch_command", file = 0x563d6aeaad20 "/data/src/10.5/sql/sql_parse.cc", level = 2147483651, line = -1, prev = 0x7f64dc2e13b0}
              __PRETTY_FUNCTION__ = "void mysql_parse(THD*, char*, uint, Parser_state*, bool, bool)"
      #23 0x0000563d6a129e32 in dispatch_command (command=COM_QUERY, thd=0x7f64c0000db8, packet=0x7f64c000b5c9 "", packet_length=22, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1891
              packet_end = 0x7f64c0015326 ""
              parser_state = {m_lip = {lookahead_token = -1, lookahead_yylval = 0x0, m_thd = 0x7f64c0000db8, m_ptr = 0x7f64c0015327 "\004", m_tok_start = 0x7f64c0015327 "\004", m_tok_end = 0x7f64c0015327 "\004", m_end_of_query = 0x7f64c0015326 "", m_tok_start_prev = 0x7f64c0015326 "", m_buf = 0x7f64c0015310 "check table t extended", m_buf_length = 22, m_echo = true, m_echo_saved = 188, m_cpp_buf = 0x7f64c0015380 "check table t extended", m_cpp_ptr = 0x7f64c0015396 "", m_cpp_tok_start = 0x7f64c0015396 "", m_cpp_tok_start_prev = 0x7f64c0015396 "", m_cpp_tok_end = 0x7f64c0015396 "", m_body_utf8 = 0x0, m_body_utf8_ptr = 0x7f64c0000ce0 "\222<\376k\374\177", m_cpp_utf8_processed_ptr = 0x0, next_state = MY_LEX_END, found_semicolon = 0x0, ignore_space = false, stmt_prepare_mode = false, multi_statements = true, yylineno = 1, m_digest = 0x0, in_comment = NO_COMMENT, in_comment_saved = (unknown: 0x7f64), m_cpp_text_start = 0x7f64c001538c "t extended", m_cpp_text_end = 0x7f64c001538d " extended", m_underscore_cs = 0x0}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {m_item = {0x0 <repeats 12 times>}}, m_lock_type = TL_UNLOCK, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = 0x7f64c00048f0}
              net = 0x7f64c00010e0
              error = false
              do_end_of_statement = true
              _db_stack_frame_ = {func = 0x563d6aeaaf1d "do_command", file = 0x563d6aeaad20 "/data/src/10.5/sql/sql_parse.cc", level = 2147483650, line = -1, prev = 0x7f64dc2e1c80}
              drop_more_results = false
              __PRETTY_FUNCTION__ = "bool dispatch_command(enum_server_command, THD*, char*, uint, bool, bool)"
              __FUNCTION__ = "dispatch_command"
              res = <optimized out>
      #24 0x0000563d6a12868c in do_command (thd=0x7f64c0000db8) at /data/src/10.5/sql/sql_parse.cc:1375
              return_value = false
              packet = 0x7f64c000b5c8 "\027"
              packet_length = 23
              net = 0x7f64c00010e0
              command = COM_QUERY
              _db_stack_frame_ = {func = 0x563d6b309820 "?func", file = 0x563d6b309826 "?file", level = 2147483649, line = -1, prev = 0x0}
              __PRETTY_FUNCTION__ = "bool do_command(THD*)"
              __FUNCTION__ = "do_command"
      #25 0x0000563d6a2d5a97 in do_handle_one_connection (connect=0x563d6e6c8c08, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1418
              create_user = true
              thr_create_utime = 4667970239418
              thd = 0x7f64c0000db8
              __PRETTY_FUNCTION__ = "void do_handle_one_connection(CONNECT*, bool)"
      #26 0x0000563d6a2d5759 in handle_one_connection (arg=0x563d6e68e958) at /data/src/10.5/sql/sql_connect.cc:1312
              connect = 0x563d6e68e958
      #27 0x0000563d6a7e65ec in pfs_spawn_thread (arg=0x563d6e6c7e48) at /data/src/10.5/storage/perfschema/pfs.cc:2201
              typed_arg = 0x563d6e6c7e48
              user_arg = 0x563d6e68e958
              user_start_routine = 0x563d6a2d56fe <handle_one_connection(void*)>
              pfs = 0x7f64e152d140
              klass = 0x563d6e0e8900
      #28 0x00007f64e20fbea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
              ret = <optimized out>
              pd = <optimized out>
              unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140071167469312, -8045554321309496258, 140722120304462, 140722120304463, 140071167467072, 311296, 7967372025448434750, 7967350321962224702}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
              not_first_call = 0
      #29 0x00007f64e1cf8def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Reproducible on 10.5-10.10, both with MinIO and AWS.
      No obvious immediate problem on a non-debug build.

      The failure started happening after this commit in 10.5:

      commit 96329d632159f1f5a017e002c3217e19c79e5731
      Author: Monty
      Date:   Sun May 29 12:10:37 2022 +0300
       
          Fixed that CHECK TABLE on an S3 table doesn't try to write to files
      

      Attachments

        Activity

          No workflow transitions have been executed yet.

          People

            monty Michael Widenius
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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