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

Assertion `mach_read_from_4(frame + 4U) == block->page.id().page_no()' failed

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      Assertion found on debug build:-

      origin/10.11 77a3d7a985e6a494b8e4b7b5ccd634602a9a7e1f

      # 2025-10-23T11:26:04 [2810372] | mariadbd: /data/Server/10.11D/storage/innobase/buf/buf0buf.cc:2498: bool buf_zip_decompress(buf_block_t*, bool): Assertion `mach_read_from_4(frame + 4U) == block->page.id().page_no()' failed.
      

      Stacktrace

      #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="mach_read_from_4(frame + 4U) == block->page.id().page_no()", file=file@entry="/data/Server/10.11D/storage/innobase/buf/buf0buf.cc",
          line=line@entry=2498, function=function@entry="bool buf_zip_decompress(buf_block_t*, bool)") at ./assert/assert.c:94
      #6  __assert_fail (assertion="mach_read_from_4(frame + 4U) == block->page.id().page_no()", file="/data/Server/10.11D/storage/innobase/buf/buf0buf.cc", line=2498, function="bool buf_zip_decompress(buf_block_t*, bool)")
          at ./assert/assert.c:103
      #7  buf_zip_decompress (block=block@entry=, check=check@entry=false) at /data/Server/10.11D/storage/innobase/buf/buf0buf.cc:2498
      #8  buf_page_t::read_complete (this=this@entry=, node=...) at /data/Server/10.11D/storage/innobase/buf/buf0buf.cc:3904
      #9  buf_read_page_low (space=, sync=sync@entry=true, mode=mode@entry=132, page_id=page_id@entry=..., zip_size=<optimized out>, unzip=<optimized out>) at /data/Server/10.11D/storage/innobase/buf/buf0rea.cc:334
      #10 buf_read_page (page_id=page_id@entry=..., unzip=unzip@entry=true) at /data/Server/10.11D/storage/innobase/buf/buf0rea.cc:464
      #11 buf_page_get_low (page_id=..., zip_size=zip_size@entry=2048, rw_latch=rw_latch@entry=RW_S_LATCH, guess=guess@entry=, mode=mode@entry=16, mtr=mtr@entry=, err=, allow_ibuf_merge=false)
          at /data/Server/10.11D/storage/innobase/buf/buf0buf.cc:2989
      #12 buf_page_get_gen (page_id=page_id@entry=..., zip_size=2048, rw_latch=rw_latch@entry=RW_S_LATCH, guess=guess@entry=, mode=mode@entry=16, mtr=mtr@entry=, err=, allow_ibuf_merge=false)
          at /data/Server/10.11D/storage/innobase/buf/buf0buf.cc:3248
      #13 lock_rec_block_validate (page_id=...) at /data/Server/10.11D/storage/innobase/lock/lock0lock.cc:5651
      #14 lock_validate () at /data/Server/10.11D/storage/innobase/lock/lock0lock.cc:5710
      #15 lock_print_info_all_transactions (file=file@entry=<_IO_2_1_stderr_>) at /data/Server/10.11D/storage/innobase/lock/lock0lock.cc:5264
      #16 srv_printf_innodb_monitor (file=<_IO_2_1_stderr_>, nowait=1, trx_start_pos=trx_start_pos@entry=, trx_end=trx_end@entry=) at /data/Server/10.11D/storage/innobase/srv/srv0srv.cc:750
      #17 srv_monitor () at /data/Server/10.11D/storage/innobase/srv/srv0srv.cc:1037
      #18 srv_monitor_task () at /data/Server/10.11D/storage/innobase/srv/srv0srv.cc:1112
      #19 tpool::thread_pool_generic::timer_generic::run (this=) at /data/Server/10.11D/tpool/tpool_generic.cc:328
      #20 tpool::thread_pool_generic::timer_generic::execute (arg=<optimized out>) at /data/Server/10.11D/tpool/tpool_generic.cc:348
      #21 tpool::task::execute (this=) at /data/Server/10.11D/tpool/task.cc:37
      #22 tpool::thread_pool_generic::worker_main (this=, thread_var=) at /data/Server/10.11D/tpool/tpool_generic.cc:566
      #23 std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=<optimized out>, __t=<optimized out>) at /usr/include/c++/13/bits/invoke.h:74
      #24 std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=<optimized out>) at /usr/include/c++/13/bits/invoke.h:90
      #25 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=<optimized out>)
          at /usr/include/c++/13/bits/std_thread.h:292
      #26 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:299
      #27 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=<optimized out>)
          at /usr/include/c++/13/bits/std_thread.h:244
      #28 ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #29 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      #30 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on SDP:-
      /data/results/1761242641/TBR-2340

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              saahil Saahil Alam
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: