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

Assertion `!m_freed_space' failed in mtr_t::start

    XMLWordPrintable

    Details

      Description

      --source include/have_innodb.inc
       
      CREATE TABLE t1 (a TEXT, b TEXT) ENGINE=InnoDB PAGE_COMPRESSED='ON';
      INSERT INTO t1 VALUES(REPEAT('x',81),REPEAT('x',8034));
      DELETE FROM t1;
       
      # Cleanup
      DROP TABLE t1;
      

      10.5 0c23e32d27

      mariadbd: /data/src/10.5/storage/innobase/mtr/mtr0mtr.cc:357: void mtr_t::start(): Assertion `!m_freed_space' failed.
      201220 20:51:13 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f9ea7e94f36 in __GI___assert_fail (assertion=0x557bd41dcd92 "!m_freed_space", file=0x557bd41dca18 "/data/src/10.5/storage/innobase/mtr/mtr0mtr.cc", line=357, function=0x557bd41dcd7e "void mtr_t::start()") at assert.c:101
      #8  0x0000557bd39bb378 in mtr_t::start (this=0x7f9e927fa630) at /data/src/10.5/storage/innobase/mtr/mtr0mtr.cc:357
      #9  0x0000557bd3ba32c2 in btr_free_externally_stored_field (index=0x7f9e6c0fa538, field_ref=0x7f9ea19d80e5 "", rec=0x7f9ea19d8081 "", offsets=0x7f9e7c009e08, block=0x7f9ea14ef288, i=4, rollback=false, local_mtr=0x7f9e927fb140) at /data/src/10.5/storage/innobase/btr/btr0cur.cc:7672
      #10 0x0000557bd3ba3c1e in btr_rec_free_externally_stored_fields (index=0x7f9e6c0fa538, rec=0x7f9ea19d8081 "", offsets=0x7f9e7c009e08, block=0x7f9ea14ef288, rollback=false, mtr=0x7f9e927fb140) at /data/src/10.5/storage/innobase/btr/btr0cur.cc:7804
      #11 0x0000557bd3b9d8af in btr_cur_pessimistic_delete (err=0x7f9e927faebc, has_reserved_extents=0, cursor=0x557bd71a8f48, flags=0, rollback=false, mtr=0x7f9e927fb140) at /data/src/10.5/storage/innobase/btr/btr0cur.cc:5689
      #12 0x0000557bd3a9f6c2 in row_purge_remove_clust_if_poss_low (node=0x557bd71a8ea8, mode=65569) at /data/src/10.5/storage/innobase/row/row0purge.cc:143
      #13 0x0000557bd3a9f7f4 in row_purge_remove_clust_if_poss (node=0x557bd71a8ea8) at /data/src/10.5/storage/innobase/row/row0purge.cc:192
      #14 0x0000557bd3aa0a60 in row_purge_del_mark (node=0x557bd71a8ea8) at /data/src/10.5/storage/innobase/row/row0purge.cc:646
      #15 0x0000557bd3aa244b in row_purge_record_func (node=0x557bd71a8ea8, undo_rec=0x557bd71b7578 "", thr=0x557bd71a8cc8, updated_extern=false) at /data/src/10.5/storage/innobase/row/row0purge.cc:1047
      #16 0x0000557bd3aa270d in row_purge (node=0x557bd71a8ea8, undo_rec=0x557bd71b7578 "", thr=0x557bd71a8cc8) at /data/src/10.5/storage/innobase/row/row0purge.cc:1108
      #17 0x0000557bd3aa288d in row_purge_step (thr=0x557bd71a8cc8) at /data/src/10.5/storage/innobase/row/row0purge.cc:1157
      #18 0x0000557bd3a0f270 in que_thr_step (thr=0x557bd71a8cc8) at /data/src/10.5/storage/innobase/que/que0que.cc:947
      #19 0x0000557bd3a0f508 in que_run_threads_low (thr=0x557bd71a8cc8) at /data/src/10.5/storage/innobase/que/que0que.cc:1009
      #20 0x0000557bd3a0f76e in que_run_threads (thr=0x557bd71a8cc8) at /data/src/10.5/storage/innobase/que/que0que.cc:1049
      #21 0x0000557bd3ae7f12 in srv_task_execute () at /data/src/10.5/storage/innobase/srv/srv0srv.cc:1910
      #22 0x0000557bd3ae8721 in purge_worker_callback () at /data/src/10.5/storage/innobase/srv/srv0srv.cc:2073
      #23 0x0000557bd3cf96fa in tpool::task_group::execute (this=0x557bd5330fe0 <purge_task_group>, t=0x557bd5330d60 <purge_worker_task>) at /data/src/10.5/tpool/task_group.cc:55
      #24 0x0000557bd3cf9a76 in tpool::task::execute (this=0x557bd5330d60 <purge_worker_task>) at /data/src/10.5/tpool/task.cc:47
      #25 0x0000557bd3cf203d in tpool::thread_pool_generic::worker_main (this=0x557bd6fef250, thread_var=0x557bd6ffed70) at /data/src/10.5/tpool/tpool_generic.cc:546
      #26 0x0000557bd3cf9502 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__f=@0x557bd71baa98: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x557bd3cf1fa4 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x557bd71baa90: 0x557bd6fef250) at /usr/include/c++/9/bits/invoke.h:73
      #27 0x0000557bd3cf93e4 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x557bd71baa98: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x557bd3cf1fa4 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>) at /usr/include/c++/9/bits/invoke.h:95
      #28 0x0000557bd3cf9303 in 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=0x557bd71baa88) at /usr/include/c++/9/thread:244
      #29 0x0000557bd3cf929e in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x557bd71baa88) at /usr/include/c++/9/thread:251
      #30 0x0000557bd3cf927e in 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=0x557bd71baa80) at /usr/include/c++/9/thread:195
      #31 0x00007f9ea8290d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #32 0x00007f9ea83ac609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #33 0x00007f9ea7f80293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      The failure started happening on 10.5 after the commit below, but that could be just because the commit introduced the assertion. I have no information whether it's a wrong assertion or there is an underlying problem, and if it's the latter, whether it existed before the patch.

      commit 0c23e32d27a11bae6dd38703eba674ef6eeb34f4 (origin/HEAD, origin/10.5, 10.5)
      Author: Marko Mäkelä
      Date:   Fri Dec 18 17:12:57 2020 +0200
       
          MDEV-24445 Using innodb_undo_tablespaces corrupts system tablespace
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration