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

Assertion `!page || fil_page_type_is_index(page_type)' failed in recv_parse_or_apply_log_rec_body upon prepare of incremental backup

    XMLWordPrintable

    Details

      Description

      mariabackup: /home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc:1610: byte* recv_parse_or_apply_log_rec_body(mlog_id_t, byte*, byte*, ulint, ulint, bool, buf_block_t*, mtr_t*): Assertion `!page || fil_page_type_is_index(page_type)' failed.
       
      #2  0x00007f2823b9c42a in __assert_fail_base (fmt=0x7f2823d23a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55cdebf7ce88 "!page || fil_page_type_is_index(page_type)", 
          file=file@entry=0x55cdebf7bf10 "/home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc", line=line@entry=1610, 
          function=function@entry=0x55cdebf7fc00 <recv_parse_or_apply_log_rec_body(mlog_id_t, unsigned char*, unsigned char*, unsigned long, unsigned long, bool, buf_block_t*, mtr_t*)::__PRETTY_FUNCTION__> "byte* recv_parse_or_apply_log_rec_body(mlog_id_t, byte*, byte*, ulint, ulint, bool, buf_block_t*, mtr_t*)") at assert.c:92
      #3  0x00007f2823b9c4a2 in __GI___assert_fail (assertion=0x55cdebf7ce88 "!page || fil_page_type_is_index(page_type)", file=0x55cdebf7bf10 "/home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc", line=1610, 
          function=0x55cdebf7fc00 <recv_parse_or_apply_log_rec_body(mlog_id_t, unsigned char*, unsigned char*, unsigned long, unsigned long, bool, buf_block_t*, mtr_t*)::__PRETTY_FUNCTION__> "byte* recv_parse_or_apply_log_rec_body(mlog_id_t, byte*, byte*, ulint, ulint, bool, buf_block_t*, mtr_t*)") at assert.c:101
      #4  0x000055cdeb84ebb6 in recv_parse_or_apply_log_rec_body (type=MLOG_COMP_REC_UPDATE_IN_PLACE, ptr=0x7f27e3be1250 "", end_ptr=0x7f27e3be1382 "", space_id=54, page_no=162, apply=true, block=0x7f27d8aea780, mtr=0x7f27d10b55b0)
          at /home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc:1610
      #5  0x000055cdeb85131b in recv_recover_page (block=0x7f27d8aea780, mtr=..., recv_addr=0x7f27e3be1208, init_lsn=0) at /home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc:2100
      #6  0x000055cdeb851bcf in recv_recover_page (bpage=0x7f27d8aea780) at /home/mariadb/MDEV-24249/10.3e/storage/innobase/log/log0recv.cc:2223
      #7  0x000055cdeb696566 in buf_page_io_complete (bpage=0x7f27d8aea780, dblwr=false, evict=false) at /home/mariadb/MDEV-24249/10.3e/storage/innobase/buf/buf0buf.cc:6186
      #8  0x000055cdeb721a28 in fil_aio_wait (segment=4) at /home/mariadb/MDEV-24249/10.3e/storage/innobase/fil/fil0fil.cc:4530
      #9  0x000055cdeb9a54ee in io_handler_thread (arg=0x55cded1d8540 <n+32>) at /home/mariadb/MDEV-24249/10.3e/storage/innobase/srv/srv0start.cc:326
      #10 0x00007f28253706db in start_thread (arg=0x7f27d10b6700) at pthread_create.c:463
      #11 0x00007f2823c8da3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      rr profile and the datadir are available.

      For the reference, here is the test run I used to reproduce the problem. It's probably not good enough for debugging (especially since there is a profile), but it did hit the problem more than once, both with and without rr, so it has its merits:

      git clone https://github.com/MariaDB/randgen --branch mdev24249 rqg-mdev24249
      cd rqg-mdev24249
      . ./mdev24249.cmd <your basedir>
      

      The contents of mdev24249.cmd:

      perl ./runall-trials.pl --duration=350 --threads=4 --seed=1605747842 --reporters=Backtrace,ErrorLog,Deadlock --skip-gendata --gendata-advanced --engine=InnoDB --views --grammar=conf/mariadb/generic-dml.yy --redefine=conf/mariadb/bulk_insert.yy --filter=conf/mariadb/10.4-combo-filter.ff --mysqld=--log_output=FILE --mysqld=--max-statement-time=20 --mysqld=--lock-wait-timeout=10 --mysqld=--loose-innodb-lock-wait-timeout=5 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --mysqld=--innodb-compression-algorithm=zlib --mysqld=--innodb-page-size=4K --scenario=MariaBackupIncremental --redefine=conf/mariadb/alter_table.yy --redefine=conf/mariadb/modules/admin.yy --redefine=conf/mariadb/versioning.yy --redefine=conf/mariadb/sequences.yy --mysqld=--innodb-buffer-pool-size=512M --vardir1=/dev/shm/var_mdev24249 --trials=10 --basedir1=$1
      

        Attachments

          Activity

            People

            Assignee:
            vlad.lesin Vladislav Lesin
            Reporter:
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: