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

InnoDB: Failing assertion: tail.trx_no <= last_trx_no

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found on debug build

      origin/10.11 9aca89fa9f3b78074fd360cd229abb349fb6b572

      # 2025-09-17T13:48:04 [1978121] | 2025-09-17 13:48:04 0x7eff5a7e3640  InnoDB: Assertion failure in file /data/Server/10.11D/storage/innobase/trx/trx0purge.cc line 896
      # 2025-09-17T13:48:04 [1978121] | InnoDB: Failing assertion: tail.trx_no <= last_trx_no
      

      Stacktrace

      (rr) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=139635199981120) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=139635199981120) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=139635199981120, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      #3  __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #4  __GI_abort () at ./stdlib/abort.c:79
      #5  ut_dbg_assertion_failed (expr=expr@entry="tail.trx_no <= last_trx_no", file=file@entry="/data/Server/10.11D/storage/innobase/trx/trx0purge.cc", line=line@entry=896) at /data/Server/10.11D/storage/innobase/ut/ut0dbg.cc:60
      #6  purge_sys_t::choose_next_log (this=this@entry=<purge_sys>) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:896
      #7  purge_sys_t::rseg_get_next_history_log (this=this@entry=<purge_sys>) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:859
      #8  purge_sys_t::get_next_rec (this=this@entry=<purge_sys>, roll_ptr=roll_ptr@entry=3605780) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:1011
      #9  purge_sys_t::fetch_next_rec (this=<purge_sys>) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:1051
      #10 trx_purge_attach_undo_recs (thd=thd@entry=, n_work_items=n_work_items@entry=) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:1245
      #11 trx_purge (n_tasks=<optimized out>, n_tasks@entry=4, history_size=4) at /data/Server/10.11D/storage/innobase/trx/trx0purge.cc:1383
      #12 purge_coordinator_state::do_purge (this=this@entry=<purge_state>) at /data/Server/10.11D/storage/innobase/srv/srv0srv.cc:1510
      #13 purge_coordinator_callback () at /data/Server/10.11D/storage/innobase/srv/srv0srv.cc:1594
      #14 tpool::task_group::execute (this=<purge_coordinator_task_group>, t=t@entry=<purge_coordinator_task>) at /data/Server/10.11D/tpool/task_group.cc:70
      #15 tpool::task::execute (this=<purge_coordinator_task>) at /data/Server/10.11D/tpool/task.cc:32
      #16 tpool::thread_pool_generic::worker_main (this=, thread_var=) at /data/Server/10.11D/tpool/tpool_generic.cc:566
      #17 std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__t=<optimized out>, __f=<optimized out>) at /usr/include/c++/11/bits/invoke.h:74
      #18 std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=<optimized out>) at /usr/include/c++/11/bits/invoke.h:96
      #19 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=<optimized out>)
          at /usr/include/c++/11/bits/std_thread.h:259
      #20 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=<optimized out>) at /usr/include/c++/11/bits/std_thread.h:266
      #21 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=<optimized out>)
          at /usr/include/c++/11/bits/std_thread.h:211
      #22 ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #23 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #24 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on pluto:-
      /data/results/1758109426/TBR-2111

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              saahil Saahil Alam
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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