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

buf_block_t* buf_page_get_low(page_id_t, ulint, rw_lock_type_t, buf_block_t*, ulint, mtr_t*, dberr_t*, bool): Assertion `s' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found while testing MDEV-37306

      Leads to

      origin/MDEV-37306 cea7feb6242b9114b543007348d8f8de0935853d

      # 2025-10-26T15:50:18 [3871091] | mariadbd: /data/Server/MDEV-37306/storage/innobase/buf/buf0buf.cc:2714: buf_block_t* buf_page_get_low(page_id_t, ulint, rw_lock_type_t, buf_block_t*, ulint, mtr_t*, dberr_t*, bool): Assertion `s' failed.
      

      StackTraces

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      #3  __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #4  __GI_abort () at ./stdlib/abort.c:79
      #5  __assert_fail_base (fmt="%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry="s", file=file@entry="/data/Server/MDEV-37306/storage/innobase/buf/buf0buf.cc",
          line=line@entry=2714, function=function@entry="buf_block_t* buf_page_get_low(page_id_t, ulint, rw_lock_type_t, buf_block_t*, ulint, mtr_t*, dberr_t*, bool)") at ./assert/assert.c:94
      #6  __assert_fail (assertion="s", file="/data/Server/MDEV-37306/storage/innobase/buf/buf0buf.cc", line=2714,
          function="buf_block_t* buf_page_get_low(page_id_t, ulint, rw_lock_type_t, buf_block_t*, ulint, mtr_t*, dberr_t*, bool)") at ./assert/assert.c:103
      #7  buf_page_get_low (page_id=..., zip_size=zip_size@entry=0, rw_latch=rw_latch@entry=RW_S_LATCH, guess=guess@entry=, mode=mode@entry=10, mtr=mtr@entry=, err=, allow_ibuf_merge=false)
          at /data/Server/MDEV-37306/storage/innobase/buf/buf0buf.cc:2714
      #8  buf_page_get_gen (page_id=page_id@entry=..., zip_size=zip_size@entry=0, rw_latch=rw_latch@entry=RW_S_LATCH, guess=guess@entry=, mode=mode@entry=10, mtr=mtr@entry=, err=,
          allow_ibuf_merge=false) at /data/Server/MDEV-37306/storage/innobase/buf/buf0buf.cc:3050
      #9  btr_copy_blob_prefix (buf="", len=538976288, id=..., offset=offset@entry=538976288) at /data/Server/MDEV-37306/storage/innobase/btr/btr0cur.cc:6783
      #10 btr_copy_externally_stored_field_prefix_low (buf=buf@entry="", len=len@entry=538976288, zip_size=zip_size@entry=0, id=..., id@entry=..., offset=offset@entry=538976288)
          at /data/Server/MDEV-37306/storage/innobase/btr/btr0cur.cc:6980
      #11 btr_copy_externally_stored_field (len=len@entry=, data=data@entry="at", ' ' <repeats 198 times>..., zip_size=zip_size@entry=0, local_len=745, local_len@entry=765, heap=heap@entry=)
          at /data/Server/MDEV-37306/storage/innobase/btr/btr0cur.cc:7080
      #12 row_merge_copy_blobs (mrec=, offsets=offsets@entry=, zip_size=0, tuple=tuple@entry=, heap=heap@entry=) at /data/Server/MDEV-37306/storage/innobase/row/row0merge.cc:3420
      #13 row_merge_insert_index_tuples (index=, old_table=old_table@entry=, fd=..., block=block@entry=, row_buf=row_buf@entry=, btr_bulk=, table_total_rows=39,
          pct_progress=pct_progress@entry=0, pct_cost=pct_cost@entry=8.3333333333333339, crypt_block=, space=8, stage=) at /data/Server/MDEV-37306/storage/innobase/row/row0merge.cc:3611
      #14 row_merge_read_clustered_index (trx=trx@entry=, table=table@entry=, old_table=old_table@entry=, new_table=<optimized out>, new_table@entry=, online=online@entry=true,
          index=index@entry=, fts_sort_idx=<optimized out>, psort_info=<optimized out>, files=<optimized out>, key_numbers=<optimized out>, n_index=<optimized out>, defaults=<optimized out>,
          add_v=<optimized out>, col_map=<optimized out>, add_autoinc=<optimized out>, sequence=..., block=<optimized out>, skip_pk_sort=<optimized out>, tmpfd=<optimized out>,
          stage=<optimized out>, pct_cost=pct_cost@entry=8.3333333333333339, crypt_block=<optimized out>, eval_table=<optimized out>, allow_not_null=<optimized out>, col_collate=<optimized out>)
          at /data/Server/MDEV-37306/storage/innobase/row/row0merge.cc:2517
      #15 row_merge_build_indexes (trx=, old_table=, new_table=new_table@entry=, online=true, indexes=, key_numbers=, n_indexes=11, table=, defaults=, col_map=, add_autoinc=18446744073709551615,
          sequence=..., skip_pk_sort=true, stage=, add_v=, eval_table=, allow_not_null=false, col_collate=) at /data/Server/MDEV-37306/storage/innobase/row/row0merge.cc:4531
      #16 ha_innobase::inplace_alter_table (this=, altered_table=, ha_alter_info=) at /data/Server/MDEV-37306/storage/innobase/handler/handler0alter.cc:8954
      #17 handler::ha_inplace_alter_table (ha_alter_info=, altered_table=, this=<optimized out>) at /data/Server/MDEV-37306/sql/handler.h:4720
      #18 mysql_inplace_alter_table (thd=thd@entry=, table_list=, table=table@entry=, altered_table=altered_table@entry=, ha_alter_info=ha_alter_info@entry=,
          target_mdl_request=target_mdl_request@entry=, ddl_log_state=, trigger_param=, alter_ctx=) at /data/Server/MDEV-37306/sql/sql_table.cc:7733
      #19 mysql_alter_table (thd=thd@entry=, new_db=new_db@entry=, new_name=<optimized out>, create_info=create_info@entry=, table_list=<optimized out>, table_list@entry=,
          recreate_info=recreate_info@entry=, alter_info=<optimized out>, order_num=<optimized out>, order=<optimized out>, ignore=<optimized out>, if_exists=<optimized out>)
          at /data/Server/MDEV-37306/sql/sql_table.cc:10851
      #20 Sql_cmd_alter_table::execute (this=<optimized out>, thd=) at /data/Server/MDEV-37306/sql/sql_alter.cc:675
      #21 mysql_execute_command (thd=thd@entry=, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/MDEV-37306/sql/sql_parse.cc:6167
      #22 mysql_parse (thd=thd@entry=, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=) at /data/Server/MDEV-37306/sql/sql_parse.cc:8200
      #23 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=,
          packet=packet@entry="ALTER TABLE `test` . `table100_innodb_int_autoinc` FORCE /* E_R checkDatabaseIntegrity QNO 453 CON_ID 81 */ ", packet_length=packet_length@entry=108,
          blocking=blocking@entry=true) at /data/Server/MDEV-37306/sql/sql_parse.cc:1908
      #24 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/MDEV-37306/sql/sql_parse.cc:1421
      #25 do_handle_one_connection (connect=<optimized out>, connect@entry=, put_in_cache=put_in_cache@entry=true) at /data/Server/MDEV-37306/sql/sql_connect.cc:1386
      --Type <RET> for more, q to quit, c to continue without paging--c
      #26 handle_one_connection (arg=) at /data/Server/MDEV-37306/sql/sql_connect.cc:1298
      #27 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      #28 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on SDP:-
      /data/results/1761508324/TBR-958

      Attachments

        Issue Links

          Activity

            People

              saahil Saahil Alam
              saahil Saahil Alam
              Saahil Alam Saahil Alam
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: