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

buf_page_t* buf_page_get_zip(page_id_t): Assertion `bpage->state() >= buf_page_t::UNFIXED' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found during testing MDEV-37755

      origin/10.6-MDEV-37755 5620ee389641b3fe8fb1af287f807be0e8c28ab6

      # 2025-11-07T14:18:55 [1701888] | mariadbd: /data/Server/MDEV-37755/storage/innobase/buf/buf0buf.cc:2290: buf_page_t* buf_page_get_zip(page_id_t): Assertion `bpage->state() >= buf_page_t::UNFIXED' failed.
      

      Stacktrace

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140435968661056) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=140435968661056) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=140435968661056, 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="bpage->state() >= buf_page_t::UNFIXED", file="/data/Server/MDEV-37755/storage/innobase/buf/buf0buf.cc", line=2290, 
          function=<optimized out>) at ./assert/assert.c:92
      #6  __GI___assert_fail (assertion="bpage->state() >= buf_page_t::UNFIXED", file="/data/Server/MDEV-37755/storage/innobase/buf/buf0buf.cc", line=2290, function="buf_page_t* buf_page_get_zip(page_id_t)")
          at ./assert/assert.c:101
      #7  buf_page_get_zip (page_id=...) at /data/Server/MDEV-37755/storage/innobase/buf/buf0buf.cc:2290
      #8  btr_copy_zblob_prefix (buf=buf@entry='6' <repeats 200 times>..., len=len@entry=3072, zip_size=zip_size@entry=8192, id=..., offset=12) at /data/Server/MDEV-37755/storage/innobase/btr/btr0cur.cc:6864
      #9  btr_copy_externally_stored_field_prefix_low (buf=buf@entry='6' <repeats 200 times>..., len=len@entry=3072, zip_size=zip_size@entry=8192, id=..., offset=<optimized out>)
          at /data/Server/MDEV-37755/storage/innobase/btr/btr0cur.cc:6978
      #10 btr_copy_externally_stored_field_prefix (buf=buf@entry='6' <repeats 200 times>..., len=3072, zip_size=8192, data=data@entry="", local_len=0, local_len@entry=20)
          at /data/Server/MDEV-37755/storage/innobase/btr/btr0cur.cc:7030
      #11 row_ext_cache_fill (ext=ext@entry=, i=i@entry=0, space=<optimized out>, dfield=<optimized out>) at /data/Server/MDEV-37755/storage/innobase/row/row0ext.cc:78
      #12 row_ext_create (n_ext=n_ext@entry=1, ext=ext@entry=, table=..., tuple=tuple@entry=, heap=heap@entry=) at /data/Server/MDEV-37755/storage/innobase/row/row0ext.cc:128
      #13 row_build_low (type=type@entry=2, index=index@entry=, rec=<optimized out>, offsets=<optimized out>, offsets@entry=, col_table=<optimized out>, col_table@entry=, defaults=defaults@entry=, 
          add_v=<optimized out>, col_map=<optimized out>, ext=<optimized out>, heap=<optimized out>) at /data/Server/MDEV-37755/storage/innobase/row/row0row.cc:616
      #14 row_build (type=type@entry=2, index=index@entry=, rec=<optimized out>, offsets=offsets@entry=, col_table=col_table@entry=, defaults=defaults@entry=, col_map=, ext=, heap=)
          at /data/Server/MDEV-37755/storage/innobase/row/row0row.cc:675
      #15 row_vers_impl_x_locked_low (caller_trx=caller_trx@entry=, clust_rec=clust_rec@entry="\200", clust_index=<optimized out>, rec=rec@entry="\200", index=index@entry=, offsets=offsets@entry=, mtr=<optimized out>)
          at /data/Server/MDEV-37755/storage/innobase/row/row0vers.cc:262
      #16 row_vers_impl_x_locked (caller_trx=caller_trx@entry=, rec=rec@entry="\200", index=index@entry=, offsets=offsets@entry=) at /data/Server/MDEV-37755/storage/innobase/row/row0vers.cc:440
      #17 lock_sec_rec_some_has_impl (caller_trx=caller_trx@entry=, rec=rec@entry="\200", index=index@entry=, offsets=offsets@entry=) at /data/Server/MDEV-37755/storage/innobase/lock/lock0lock.cc:1268
      #18 lock_rec_convert_impl_to_expl<false> (caller_trx=caller_trx@entry=, block=..., rec=rec@entry="\200", index=index@entry=, offsets=offsets@entry=)
          at /data/Server/MDEV-37755/storage/innobase/lock/lock0lock.cc:6004
      #19 lock_sec_rec_read_check_and_lock (flags=flags@entry=0, block=block@entry=, rec=rec@entry="\200", index=index@entry=, offsets=offsets@entry=, mode=mode@entry=LOCK_X, gap_mode=0, thr=)
          at /data/Server/MDEV-37755/storage/innobase/lock/lock0lock.cc:6221
      #20 sel_set_rec_lock (pcur=pcur@entry=, rec="\200", index=index@entry=, offsets=, mode=3, type=0, thr=, mtr=) at /data/Server/MDEV-37755/storage/innobase/row/row0sel.cc:1370
      #21 row_search_mvcc (buf=buf@entry="\377", mode=<optimized out>, prebuilt=<optimized out>, match_mode=<optimized out>, direction=direction@entry=0) at /data/Server/MDEV-37755/storage/innobase/row/row0sel.cc:5246
      #22 ha_innobase::index_read (this=, buf="\377", key_ptr="\001", key_len=4, find_flag=HA_READ_KEY_EXACT) at /data/Server/MDEV-37755/storage/innobase/handler/ha_innodb.cc:9081
      #23 handler::index_read_map (this=, buf="\377", key="\001", keypart_map=<optimized out>, find_flag=HA_READ_KEY_EXACT) at /data/Server/MDEV-37755/sql/handler.h:3974
      #24 handler::ha_index_read_map (this=this@entry=, buf="\377", key="\001", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/Server/MDEV-37755/sql/handler.cc:3636
      #25 handler::read_range_first (this=, start_key=, end_key=<optimized out>, eq_range_arg=<optimized out>, sorted=<optimized out>) at /data/Server/MDEV-37755/sql/handler.cc:6808
      #26 handler::multi_range_read_next (this=, range_info=range_info@entry=) at /data/Server/MDEV-37755/sql/multi_range_read.cc:518
      #27 Mrr_simple_index_reader::get_next (this=, range_info=) at /data/Server/MDEV-37755/sql/multi_range_read.cc:555
      #28 DsMrr_impl::dsmrr_next (this=, range_info=) at /data/Server/MDEV-37755/sql/multi_range_read.cc:1659
      #29 ha_innobase::multi_range_read_next (this=<optimized out>, range_info=<optimized out>) at /data/Server/MDEV-37755/storage/innobase/handler/ha_innodb.cc:20015
      #30 QUICK_RANGE_SELECT::get_next (this=) at /data/Server/MDEV-37755/sql/opt_range.cc:12870
      #31 rr_quick (info=) at /data/Server/MDEV-37755/sql/records.cc:403
      #32 READ_RECORD::read_record (this=) at /data/Server/MDEV-37755/sql/records.h:81
      #33 mysql_delete (thd=thd@entry=, table_list=, conds=<optimized out>, order_list=order_list@entry=, limit=18446744073709551615, options=<optimized out>, result=<optimized out>)
          at /data/Server/MDEV-37755/sql/sql_delete.cc:824
      #34 mysql_execute_command (thd=thd@entry=, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/MDEV-37755/sql/sql_parse.cc:4924
      #35 mysql_parse (thd=thd@entry=, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=) at /data/Server/MDEV-37755/sql/sql_parse.cc:8200
      #36 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=, packet=packet@entry=" DELETE FROM t2 WHERE col1 = 1 OR col1 IS NULL  /* E_R Thread6 QNO 3959 CON_ID 206 */ ", 
          packet_length=packet_length@entry=86, blocking=blocking@entry=true) at /data/Server/MDEV-37755/sql/sql_parse.cc:1908
      #37 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/MDEV-37755/sql/sql_parse.cc:1421
      #38 do_handle_one_connection (connect=<optimized out>, connect@entry=, put_in_cache=put_in_cache@entry=true) at /data/Server/MDEV-37755/sql/sql_connect.cc:1386
      #39 handle_one_connection (arg=) at /data/Server/MDEV-37755/sql/sql_connect.cc:1298
      #40 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #41 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on pluto:
      /data/results/1762499852/TBR-2341

      Attachments

        Issue Links

          Activity

            People

              tafzeel Mohammad Tafzeel Shams
              saahil Saahil Alam
              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.