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

Incremental backup: Assertion end_lsn == page_lsn failed in recv_recover_page

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      The namesake assertion failure of MDEV-33137 is back, mostly failing in incremental backup tests. The https://buildbot.mariadb.org cross-reference would always time out when I try to filter for a source code branch name, so I don't know when exactly this started failing.

      At least the following tests are affected by this:

      mariabackup.apply-log-only-incr
      mariabackup.incremental_backup
      mariabackup.incremental_encrypted
      mariabackup.xb_partition
      mariabackup.incremental_newdb_while_backup
      

      Here is an example:

      main 0a45e25bbdef73f731a5e7df80ee54a045b84bd4

      mariabackup.incremental_ddl_before_backup 'undo3' w28 [ fail ]
              Test ended at 2026-08-12 15:29:41
       
      CURRENT_TEST: mariabackup.incremental_ddl_before_backup
      [00] 2026-08-12 15:29:39 Connecting to MariaDB server host: localhost, user: root, password: not set, port: 19780, socket: /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/tmp/28/mysqld.1.sock
      [00] 2026-08-12 15:29:39 Using server version 13.1.0-MariaDB-debug-log
      /home/buildbot/amd64-ubuntu-2204-debug/build/extra/mariabackup/mariadb-backup based on MariaDB server 13.1.0-MariaDB Linux (x86_64)
      [00] 2026-08-12 15:29:39 incremental backup from 54104 is enabled.
      [00] 2026-08-12 15:29:39 uses posix_fadvise().
      [00] 2026-08-12 15:29:39 cd to /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/mysqld.1/data/
      [00] 2026-08-12 15:29:39 open files limit requested 1024, set to 1024
      [00] 2026-08-12 15:29:39 mariabackup: using the following InnoDB configuration:
      [00] 2026-08-12 15:29:39 innodb_data_home_dir = 
      [00] 2026-08-12 15:29:39 innodb_data_file_path = ibdata1:12M:autoextend
      [00] 2026-08-12 15:29:39 innodb_log_group_home_dir = ./
      2026-08-12 15:29:39 0 [Note] InnoDB: Number of transaction pools: 1
      2026-08-12 15:29:39 0 [Note] InnoDB: Using io_uring
      2026-08-12 15:29:39 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
      [00] 2026-08-12 15:29:39 mariabackup: Generating a list of tablespaces
      ...
      [00] 2026-08-12 15:29:40 Redo log (from LSN 54104 to 614850) was copied.
      2026-08-12 15:29:40 0 [Note] InnoDB: Starting shutdown...
      [00] 2026-08-12 15:29:40 completed OK!
      /home/buildbot/amd64-ubuntu-2204-debug/build/extra/mariabackup/mariadb-backup based on MariaDB server 13.1.0-MariaDB Linux (x86_64)
      [00] 2026-08-12 15:29:40 cd to /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup/
      [00] 2026-08-12 15:29:40 open files limit requested 0, set to 1024
      [00] 2026-08-12 15:29:40 Renaming ./test/t3.new to ./test/t3.ibd
       
      [00] 2026-08-12 15:29:40 Renaming ./test/t2.new to ./test/t2.ibd
       
      [00] 2026-08-12 15:29:40 Renaming ./test/t1.new to ./test/t1.ibd
       
      [00] 2026-08-12 15:29:40 This target seems to be not prepared yet.
      [00] 2026-08-12 15:29:40 mariabackup: using the following InnoDB configuration for recovery:
      [00] 2026-08-12 15:29:40 innodb_data_home_dir = .
      [00] 2026-08-12 15:29:40 innodb_data_file_path = ibdata1:12M:autoextend
      [00] 2026-08-12 15:29:40 innodb_log_group_home_dir = .
      [00] 2026-08-12 15:29:40 Starting InnoDB instance for recovery.
      [00] 2026-08-12 15:29:40 mariabackup: Using 100663296 bytes for buffer pool (set by --use-memory parameter)
      2026-08-12 15:29:40 0 [Note] InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2026-08-12 15:29:40 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
      2026-08-12 15:29:40 0 [Note] InnoDB: Number of transaction pools: 1
      2026-08-12 15:29:40 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
      2026-08-12 15:29:40 0 [Note] InnoDB: Using io_uring
      2026-08-12 15:29:40 0 [Note] InnoDB: innodb_buffer_pool_size_max=100m, innodb_buffer_pool_size=96m
      2026-08-12 15:29:40 0 [Note] InnoDB: Completed initialization of buffer pool
      2026-08-12 15:29:40 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
      2026-08-12 15:29:40 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=54088
      2026-08-12 15:29:40 0 [Note] InnoDB: End of log at LSN=60279
      2026-08-12 15:29:40 0 [Note] InnoDB: To recover: 35 pages
      [00] 2026-08-12 15:29:40 Last binlog file , position 0
      2026-08-12 15:29:40 0 [Note] InnoDB: Starting shutdown...
      [00] 2026-08-12 15:29:40 completed OK!
      /home/buildbot/amd64-ubuntu-2204-debug/build/extra/mariabackup/mariadb-backup based on MariaDB server 13.1.0-MariaDB Linux (x86_64)
      [00] 2026-08-12 15:29:40 incremental backup from 54104 is enabled.
      [00] 2026-08-12 15:29:40 cd to /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup/
      [00] 2026-08-12 15:29:40 open files limit requested 0, set to 1024
      [00] 2026-08-12 15:29:40 Renaming /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//test/t7.new to ./test/t7.ibd
       
      [00] 2026-08-12 15:29:40 Removing ./test/t3.ibd
      [00] 2026-08-12 15:29:40 Renaming /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//test/t3.new to ./test/t3.ibd
       
      [00] 2026-08-12 15:29:40 Removing ./test/t2.ibd
      [00] 2026-08-12 15:29:40 Renaming /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//test/t2.new to ./test/t2.ibd
       
      [00] 2026-08-12 15:29:40 Removing ./test/t1.ibd
      [00] 2026-08-12 15:29:40 Renaming /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//test/t1.new to ./test/t1.ibd
       
      [00] 2026-08-12 15:29:40 This target seems to be already prepared.
      [00] 2026-08-12 15:29:40 mariabackup: using the following InnoDB configuration for recovery:
      [00] 2026-08-12 15:29:40 innodb_data_home_dir = .
      [00] 2026-08-12 15:29:40 innodb_data_file_path = ibdata1:12M:autoextend
      [00] 2026-08-12 15:29:40 innodb_log_group_home_dir = /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1/
      [00] 2026-08-12 15:29:40 mariabackup: Generating a list of tablespaces
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//ibdata1.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//ibdata1.delta to ./ibdata1...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo003.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo003.delta to ./undo003...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo002.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo002.delta to ./undo002...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo001.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//undo001.delta to ./undo001...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/innodb_table_stats.ibd.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/innodb_table_stats.ibd.delta to ./mysql/innodb_table_stats.ibd...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/innodb_index_stats.ibd.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/innodb_index_stats.ibd.delta to ./mysql/innodb_index_stats.ibd...
      [00] 2026-08-12 15:29:40 page size for /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/transaction_registry.ibd.delta is 16384 bytes
      [00] 2026-08-12 15:29:40 Applying /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1//mysql/transaction_registry.ibd.delta to ./mysql/transaction_registry.ibd...
      [00] 2026-08-12 15:29:40 mariabackup: using the following InnoDB configuration for recovery:
      [00] 2026-08-12 15:29:40 innodb_data_home_dir = .
      [00] 2026-08-12 15:29:40 innodb_data_file_path = ibdata1:12M:autoextend
      [00] 2026-08-12 15:29:40 innodb_log_group_home_dir = /home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1/
      [00] 2026-08-12 15:29:40 Starting InnoDB instance for recovery.
      [00] 2026-08-12 15:29:40 mariabackup: Using 100663296 bytes for buffer pool (set by --use-memory parameter)
      2026-08-12 15:29:41 0 [Note] InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2026-08-12 15:29:41 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
      2026-08-12 15:29:41 0 [Note] InnoDB: Number of transaction pools: 1
      2026-08-12 15:29:41 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
      2026-08-12 15:29:41 0 [Note] InnoDB: Using io_uring
      2026-08-12 15:29:41 0 [Note] InnoDB: innodb_buffer_pool_size_max=96m, innodb_buffer_pool_size=96m
      2026-08-12 15:29:41 0 [Note] InnoDB: Completed initialization of buffer pool
      2026-08-12 15:29:41 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
      2026-08-12 15:29:41 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=54104
      2026-08-12 15:29:41 0 [Note] InnoDB: At LSN: 61099: unable to open file ./test/t4.ibd for tablespace 11
      2026-08-12 15:29:41 0 [Note] InnoDB: End of log at LSN=614850
      2026-08-12 15:29:41 0 [Note] InnoDB: To recover: 74 pages
      mariadb-backup: /home/buildbot/amd64-ubuntu-2204-debug/build/storage/innobase/log/log0recv.cc:4034: buf_block_t* recv_recover_page(buf_block_t*, mtr_t&, page_recv_t&, fil_space_t*, lsn_t): Assertion `end_lsn == page_lsn' failed.
      Aborted (core dumped)
      mysqltest: At line 40: exec of '/home/buildbot/amd64-ubuntu-2204-debug/build/extra/mariabackup/mariadb-backup --prepare --target-dir=/home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup --incremental-dir=/home/buildbot/amd64-ubuntu-2204-debug/build/mysql-test/var/28/tmp/backup_inc1' failed, error: 34304, status: 134, errno: 11
      

      To analyze this, we'd ideally need a run that includes rr record of the mariadbd process that was being backed up, as well as copies of the backup before any mariadb-backup --prepare was executed.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  Logged:
                  Time Spent - 0.25d
                  0.25d

                  Git Integration

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