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

mariabackup.alter_copy_race crashes with abort in in backup_file_op_fail

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Fixed
    • None
    • 10.11.11, 11.4.5, 11.7.2
    • mariabackup
    • None
    • 10.11.10
      Compiled with debugging

    Description

      Trace after crash with: mariabackup.alter_copy_race
      It always crashes when I run the above test case.

      The result from queries just before the failure was:

      # xtrabackup backup
      CREATE TABLE t1(i int) ENGINE=InnoDB;
      INSERT into t1 values(1);
      connect  con2, localhost, root,,;
      connection con2;
      set lock_wait_timeout=1;
      SET debug_sync='copy_data_between_tables_before_reset_backup_lock  SIGNAL go WAIT_FOR after_backup_stage_block_ddl';
      SET debug_sync='alter_table_after_temp_table_drop SIGNAL temp_table_dropped';
      SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 FORCE, algorithm=COPY;|
      connection default;
      

      Backtrace:

      Thread 1 (Thread 0x7ffff11fd700 (LWP 7099)):
      #0  0x00007ffff6453d2b in raise () from /lib64/libc.so.6
      #1  0x00007ffff6455394 in abort () from /lib64/libc.so.6
      #2  0x000000000172677e in ut_dbg_assertion_failed (expr=0x19ab8ef "opt_no_lock", file=0x19ab2e8 "/my/maria-10.11/extra/mariabackup/xtrabackup.cc", line=1214) at /my/maria-10.11/storage/innobase/ut/ut0dbg.cc:60
      #3  0x000000000089aa9f in backup_file_op_fail (space_id=6, type=144, name=0x7ffff120e016 "", len=28, new_name=0x0, new_len=0) at /my/maria-10.11/extra/mariabackup/xtrabackup.cc:1214
      #4  0x000000000158b23e in recv_sys_t::parse<recv_buf, (recv_sys_t::store)1> (this=0x260fc80 <recv_sys>, l=..., if_exists=false) at /my/maria-10.11/storage/innobase/log/log0recv.cc:3072
      #5  0x00000000015869c8 in recv_sys_t::parse_mtr<(recv_sys_t::store)1> (if_exists=false) at /my/maria-10.11/storage/innobase/log/log0recv.cc:3115
      #6  0x00000000015869e2 in recv_sys_t::parse_mmap<(recv_sys_t::store)1> (if_exists=false) at /my/maria-10.11/storage/innobase/log/log0recv.cc:3127
      #7  0x000000000089e9ea in xtrabackup_copy_mmap_logfile () at /my/maria-10.11/extra/mariabackup/xtrabackup.cc:3423
      #8  0x000000000089edee in xtrabackup_copy_logfile () at /my/maria-10.11/extra/mariabackup/xtrabackup.cc:3487
      #9  0x000000000089f88f in log_copying_thread () at /my/maria-10.11/extra/mariabackup/xtrabackup.cc:3654
      #10 0x00000000008b7e80 in std::__invoke_impl<void, void (*)()> (__f=@0x3299698: 0x89f862 <log_copying_thread()>) at /usr/include/c++/7/bits/invoke.h:60
      #11 0x00000000008b311a in std::__invoke<void (*)()> (__fn=@0x3299698: 0x89f862 <log_copying_thread()>) at /usr/include/c++/7/bits/invoke.h:95
      #12 0x00000000008c79f2 in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x3299698) at /usr/include/c++/7/thread:234
      #13 0x00000000008c79c3 in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x3299698) at /usr/include/c++/7/thread:243
      #14 0x00000000008c79a2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x3299690) at /usr/include/c++/7/thread:186
      #15 0x00007ffff609f713 in ?? () from /usr/lib64/libstdc++.so.6
      #16 0x00007ffff75256ea in start_thread () from /lib64/libpthread.so.0
      #17 0x00007ffff652150f in clone () from /lib64/libc.so.6
      

      The code where it fails:

      1213
                  if (fail) {
      1214
                          ut_a(opt_no_lock);
      1215
                          die("DDL operation detected in the late phase of backup."
      1216
                                  "Backup is inconsistent. Remove --no-lock option to fix.");
      

      I checked with gdb that opt_no_lock == 0

      'type' in backup_file_op_fail(uint32_t space_id, int type..) is 144 == FILE_DELETE
      spacename = "mysql/innodb_table_stats"

      Attachments

        Activity

          People

            monty Michael Widenius
            monty Michael Widenius
            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.