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

innodb_log_archive=ON corruption after modifying innodb_log_file_buffering or innodb_log_file_write_through

    XMLWordPrintable

Details

    • Can result in data loss
    • When innodb_log_archive=ON, a modification of innodb_log_file_buffering or innodb_log_file_write_through with SET GLOBAL could lead to a corrupted log.

    Description

      Assertion found on debug build of 13.0

      origin/13.0 09b9772eec85b72bca633f5885b4c4a029326214

      # 2026-06-05T02:57:26 [2191171] | mariadbd: /data/Server/13.0/storage/innobase/buf/buf0flu.cc:1874: lsn_t log_t::write_checkpoint(lsn_t, lsn_t): Assertion `resize_target == os_file_get_size(log.m_file)' failed.
      

      StackTrace

      # 2026-06-05T03:00:27 [2191171] | #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
      # 2026-06-05T03:00:27 [2191171] | #1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
      # 2026-06-05T03:00:27 [2191171] | #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      # 2026-06-05T03:00:27 [2191171] | #3  0x00007f8aa064526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      # 2026-06-05T03:00:27 [2191171] | #4  0x00007f8aa06288ff in __GI_abort () at ./stdlib/abort.c:79
      # 2026-06-05T03:00:27 [2191171] | #5  0x00007f8aa062881b in __assert_fail_base (fmt=0x7f8aa07d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x58aaeb109a28 "resize_target == os_file_get_size(log.m_file)", file=file@entry=0x58aaeb1083b0 "/data/Server/13.0/storage/innobase/buf/buf0flu.cc", line=line@entry=1874, function=function@entry=0x58aaeb1098a8 "lsn_t log_t::write_checkpoint(lsn_t, lsn_t)") at ./assert/assert.c:94
      # 2026-06-05T03:00:27 [2191171] | #6  0x00007f8aa063b507 in __assert_fail (assertion=0x58aaeb109a28 "resize_target == os_file_get_size(log.m_file)", file=0x58aaeb1083b0 "/data/Server/13.0/storage/innobase/buf/buf0flu.cc", line=1874, function=0x58aaeb1098a8 "lsn_t log_t::write_checkpoint(lsn_t, lsn_t)") at ./assert/assert.c:103
      # 2026-06-05T03:00:27 [2191171] | #7  0x000058aaead68060 in log_t::write_checkpoint (this=0x58aaec3c9f00 <log_sys>, checkpoint=checkpoint@entry=4067931, end_lsn=end_lsn@entry=4230929) at /data/Server/13.0/storage/innobase/buf/buf0flu.cc:1874
      # 2026-06-05T03:00:27 [2191171] | #8  0x000058aaead62e18 in log_checkpoint_low (oldest_lsn=oldest_lsn@entry=4067931, end_lsn=end_lsn@entry=4230929) at /data/Server/13.0/storage/innobase/buf/buf0flu.cc:2207
      # 2026-06-05T03:00:27 [2191171] | #9  0x000058aaead62ed4 in log_checkpoint () at /data/Server/13.0/storage/innobase/buf/buf0flu.cc:2261
      # 2026-06-05T03:00:27 [2191171] | #10 0x000058aaead655f1 in buf_flush_page_cleaner () at /data/Server/13.0/storage/innobase/buf/buf0flu.cc:2805
      # 2026-06-05T03:00:27 [2191171] | #11 0x000058aaead669b5 in std::__invoke_impl<void, void (*)() noexcept>(std::__invoke_other, void (*&&)() noexcept) (__f=<optimized out>) at /usr/include/c++/13/bits/invoke.h:60
      # 2026-06-05T03:00:27 [2191171] | #12 std::__invoke<void (*)() noexcept>(void (*&&)() noexcept) (__fn=<optimized out>) at /usr/include/c++/13/bits/invoke.h:96
      # 2026-06-05T03:00:27 [2191171] | #13 std::thread::_Invoker<std::tuple<void (*)() noexcept> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:292
      # 2026-06-05T03:00:27 [2191171] | #14 std::thread::_Invoker<std::tuple<void (*)() noexcept> >::operator()() (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:299
      # 2026-06-05T03:00:27 [2191171] | #15 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)() noexcept> > >::_M_run() (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:244
      # 2026-06-05T03:00:27 [2191171] | #16 0x00007f8aa0aeabb4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      # 2026-06-05T03:00:27 [2191171] | #17 0x00007f8aa069ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      # 2026-06-05T03:00:27 [2191171] | #18 0x00007f8aa0729a34 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

       
      # $RQG_HOME/rqg.pl \
      # --gendata \
      # --vcols \
      # --grammar=conf/mariadb/instant_add.yy \
      # --redefine=conf/mariadb/redefine_innodb_log_archive.yy \
      # --mysqld=--loose-innodb_log_archive=ON \
      # --mysqld=--loose-innodb_log_file_size=4M \
      # --mysqld=--loose-innodb_log_file_mmap=OFF \
      # --reporters=LogArchiveRecovery,Deadlock \
      # --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
      # --mysqld=--loose-idle_write_transaction_timeout=0 \
      # --mysqld=--loose-idle_transaction_timeout=0 \
      # --mysqld=--loose-idle_readonly_transaction_timeout=0 \
      # --mysqld=--connect_timeout=60 \
      # --mysqld=--interactive_timeout=28800 \
      # --mysqld=--slave_net_timeout=60 \
      # --mysqld=--net_read_timeout=30 \
      # --mysqld=--net_write_timeout=60 \
      # --mysqld=--loose-table_lock_wait_timeout=50 \
      # --mysqld=--wait_timeout=28800 \
      # --no_mask \
      # --queries=10000000 \
      # --seed=random \
      # --reporters=None \
      # --reporters=ErrorLog \
      # --reporters=Deadlock \
      # --validators=None \
      # --mysqld=--log_output=none \
      # --mysqld=--log_bin_trust_function_creators=1 \
      # --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
      # --engine=InnoDB \
      # --restart_timeout=240 \
      # --mysqld=--plugin-load-add=file_key_management.so \
      # --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
      # --mysqld=--plugin-load-add=provider_lzo.so \
      # --mysqld=--plugin-load-add=provider_bzip2.so \
      # --mysqld=--plugin-load-add=provider_lzma.so \
      # --mysqld=--plugin-load-add=provider_snappy.so \
      # --mysqld=--plugin-load-add=provider_lz4.so \
      # --mysqld=--loose-innodb_compression_level=1 \
      # --duration=300 \
      # --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      # --mysqld=--loose-innodb_data_file_path=ibdata1:1M:autoextend:autoshrink \
      # --mysqld=--lock-wait-timeout=86400 \
      # --mysqld=--innodb-lock-wait-timeout=50 \
      # --mysqld=--sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION \
      # --mysqld=--loose-innodb_read_only_compressed=OFF \
      # --mysqld=--innodb_stats_persistent=off \
      # --mysqld=--innodb_adaptive_hash_index=off \
      # --mysqld=--innodb_random_read_ahead=OFF \
      # --mysqld=--loose-innodb_evict_tables_on_commit_debug=on \
      # --threads=33 \
      # --rr=rr record --wait \
      # --mysqld=--innodb_undo_log_truncate=OFF \
      # --mysqld=--innodb_undo_tablespaces=16 \
      # --mysqld=--innodb_rollback_on_timeout=ON \
      # --mysqld=--innodb_page_size=4K \
      # --mysqld=--innodb-buffer-pool-size=6M \
      # --vardir_type=slow \
      # --redefine=conf/mariadb/redefine_innodb_all_vars.yy \
      # --redefine=conf/mariadb/redefine_innodb_spatial.yy \
      # --mysqld=--innodb_autoinc_lock_mode=0 \
      # --no_mask \
      # --batch \
      # --basedir1=/Server_bin/13.0_debug_Og \
      # --basedir2=/Server_bin/13.0_debug_Og \
      # --script_debug=_nix_ \
      # --major_runid=1780641027 \
      # --minor_runid=28
      

      RR trace is present on SDP:
      /data/results/1780641027/TBR-2421

      Attachments

        1. simplify_TBR-2421.cfg
          48 kB
          Saahil Alam
        2. TBR-2421.yy
          0.5 kB
          Saahil Alam

        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:

                Git Integration

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