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

void btr_sea::partition::rollback_insert(): Assertion `latch.have_rd()' failed

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      Assertion found on debug build while testing MDEV-37482

      Leads to :-

      origin/MDEV-37482 c8419cb55ee8ed7b5235e8a05a94ff20950475f6

      # 2025-09-22T07:16:57 [1298855] | mariadbd: /data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc:344: void btr_sea::partition::rollback_insert(): Assertion `latch.have_rd()' failed.
      

      StackTrace

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140364748944960) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=140364748944960) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=140364748944960, 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  __assert_fail_base (fmt="%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion="latch.have_rd()", file="/data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc", line=344, function=<optimized out>) at ./assert/assert.c:92
      #6  __GI___assert_fail (assertion="latch.have_rd()", file="/data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc", line=344, function="void btr_sea::partition::rollback_insert()") at ./assert/assert.c:101
      #7  btr_sea::partition::rollback_insert (this=this@entry=<btr_search+192>) at /data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc:344
      #8  btr_search_build_page_hash_index (index=, block=, part=..., left_bytes_fields=4) at /data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc:1632
      #9  btr_cur_t::search_info_update (this=this@entry=) at /data/Server/MDEV-37482/storage/innobase/btr/btr0sea.cc:1707
      #10 btr_cur_t::search_leaf (this=this@entry=, tuple=tuple@entry=, mode=mode@entry=PAGE_CUR_LE, latch_mode=<optimized out>, latch_mode@entry=BTR_MODIFY_LEAF, mtr=mtr@entry=) at /data/Server/MDEV-37482/storage/innobase/btr/btr0cur.cc:1431
      #11 btr_pcur_open (mtr=, cursor=, latch_mode=BTR_MODIFY_LEAF, mode=PAGE_CUR_LE, tuple=) at /data/Server/MDEV-37482/storage/innobase/include/btr0pcur.h:430
      #12 row_search_on_row_ref (pcur=pcur@entry=, mode=mode@entry=BTR_MODIFY_LEAF, table=<optimized out>, ref=, mtr=mtr@entry=) at /data/Server/MDEV-37482/storage/innobase/row/row0row.cc:1219
      #13 row_purge_reposition_pcur (mode=mode@entry=BTR_MODIFY_LEAF, node=node@entry=, mtr=mtr@entry=) at /data/Server/MDEV-37482/storage/innobase/row/row0purge.cc:83
      #14 row_purge_reset_trx_id (node=node@entry=, mtr=mtr@entry=) at /data/Server/MDEV-37482/storage/innobase/row/row0purge.cc:1044
      #15 row_purge_record_func (node=node@entry=, undo_rec=undo_rec@entry="\001\274\r\001\017 ", thr=thr@entry=, updated_extern=<optimized out>) at /data/Server/MDEV-37482/storage/innobase/row/row0purge.cc:1534
      #16 row_purge (node=node@entry=, undo_rec=undo_rec@entry="\001\274\r\001\017 ", thr=thr@entry=) at /data/Server/MDEV-37482/storage/innobase/row/row0purge.cc:1578
      #17 row_purge_step (thr=thr@entry=) at /data/Server/MDEV-37482/storage/innobase/row/row0purge.cc:1641
      #18 que_thr_step (thr=thr@entry=) at /data/Server/MDEV-37482/storage/innobase/que/que0que.cc:553
      #19 que_run_threads_low (thr=thr@entry=) at /data/Server/MDEV-37482/storage/innobase/que/que0que.cc:609
      #20 que_run_threads (thr=thr@entry=) at /data/Server/MDEV-37482/storage/innobase/que/que0que.cc:629
      #21 srv_task_execute () at /data/Server/MDEV-37482/storage/innobase/srv/srv0srv.cc:1357
      #22 srv_purge_worker_task_low () at /data/Server/MDEV-37482/storage/innobase/srv/srv0srv.cc:1488
      #23 purge_worker_callback () at /data/Server/MDEV-37482/storage/innobase/srv/srv0srv.cc:1499
      #24 tpool::task_group::execute (this=<purge_task_group>, t=t@entry=<purge_worker_task>) at /data/Server/MDEV-37482/tpool/task_group.cc:73
      #25 tpool::task::execute (this=<purge_worker_task>) at /data/Server/MDEV-37482/tpool/task.cc:32
      #26 tpool::thread_pool_generic::worker_main (this=, thread_var=) at /data/Server/MDEV-37482/tpool/tpool_generic.cc:529
      #27 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
      #28 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
      #29 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
      #30 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
      #31 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
      #32 ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #33 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #34 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on pluto:-
      /data/results/1758524615/000166

      Attachments

        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.